- Add aliases 'issue.comment' and 'issue_comment' to GITEA_OPERATION_ALIASES so short names normalize to gitea.issue.comment - Grant 'issue.comment' (and short) in v2 example profiles for example-author and example-reviewer - Grant in gitea-mcp.example.json mdcps-reviewer - Update docs example profiles - Add test coverage for new aliases and normalization This enables gitea_create_issue_comment and list for profiles that include it, while preserving fail-closed for others and separation of duties (issue.comment does not imply pr.review etc). Closes #137
81 lines
2.8 KiB
JSON
81 lines
2.8 KiB
JSON
{
|
|
"version": 2,
|
|
"contexts": {
|
|
"example-context": {
|
|
"enabled": true,
|
|
"label": "Example environment",
|
|
"description": "One deployment environment: its Gitea plus non-Gitea services.",
|
|
"default_owner": "Example-Org",
|
|
"gitea": {
|
|
"enabled": true,
|
|
"kind": "gitea",
|
|
"base_url": "https://gitea.example.invalid"
|
|
},
|
|
"services": {
|
|
"jenkins": {
|
|
"enabled": true,
|
|
"kind": "jenkins",
|
|
"label": "Example Jenkins",
|
|
"base_url": "https://jenkins.example.invalid",
|
|
"auth": { "type": "keychain", "id": "example-jenkins-token" },
|
|
"capabilities": ["read"]
|
|
},
|
|
"glitchtip": {
|
|
"enabled": false,
|
|
"kind": "glitchtip",
|
|
"label": "Example GlitchTip (disabled: defined but unavailable)",
|
|
"base_url": "",
|
|
"auth": { "type": "keychain", "id": "example-glitchtip-token" },
|
|
"capabilities": ["read"],
|
|
"allow_raw_events": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"profiles": {
|
|
"example-author": {
|
|
"enabled": true,
|
|
"context": "example-context",
|
|
"role": "author",
|
|
"username": "author-user",
|
|
"execution_profile": "example-author",
|
|
"audit_label": "example-author",
|
|
"auth": { "type": "keychain", "id": "example-gitea-author-token" },
|
|
"allowed_operations": ["read", "branch", "commit", "push", "open_pr", "comment", "issue.comment"],
|
|
"forbidden_operations": ["approve", "request_changes", "merge"]
|
|
},
|
|
"example-reviewer": {
|
|
"enabled": true,
|
|
"context": "example-context",
|
|
"role": "reviewer",
|
|
"username": "reviewer-user",
|
|
"execution_profile": "example-reviewer",
|
|
"audit_label": "example-reviewer",
|
|
"auth": { "type": "keychain", "id": "example-gitea-reviewer-token" },
|
|
"allowed_operations": ["read", "review", "comment", "issue.comment", "approve", "request_changes", "merge"],
|
|
"forbidden_operations": ["branch", "commit", "push", "open_pr"]
|
|
}
|
|
},
|
|
"projects": {
|
|
"/absolute/path/to/local/repo": {
|
|
"enabled": true,
|
|
"context": "example-context",
|
|
"default_owner": "Example-Org",
|
|
"default_repo": "Example-Repo",
|
|
"default_author_profile": "example-author",
|
|
"default_reviewer_profile": "example-reviewer"
|
|
}
|
|
},
|
|
"rules": {
|
|
"disabled_behavior": "Defined but unavailable for action. MCP tools may report disabled entries during audits, but must not use them automatically.",
|
|
"no_silent_fallback": true,
|
|
"tokens_in_json": false,
|
|
"token_storage": "keychain",
|
|
"identity_must_match_task": true,
|
|
"same_username_cannot_review_own_pr": true,
|
|
"hide_service_urls_from_llm": true,
|
|
"hide_keychain_ids_from_llm": true,
|
|
"mcp_resolves_endpoints": true
|
|
}
|
|
}
|