Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion triage/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,12 @@ graph TD

## Prerequisites

- **Jira MCP server** — the `user-mcp-jira` MCP server must be configured and authenticated
- **Jira access** — the authenticated user must have read access to the target project
- **Jira MCP server** — the `user-mcp-jira` MCP server must be configured and authenticated (used by `/start` and `/assess`)
- **Environment variables for `/scan` (and `/run`, which includes scan)** — the scan phase calls the Jira REST API directly via `scripts/scan.py` instead of MCP:
- `JIRA_URL` — Jira instance base URL (e.g., `https://redhat.atlassian.net`)
- `JIRA_TOKEN` — API token or Personal Access Token
- `JIRA_EMAIL` — (optional) account email; set this when using an API token (Basic auth); omit for PATs (Bearer auth)

## Phases

Expand Down
2 changes: 1 addition & 1 deletion triage/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: triage
version: 0.4.0
version: 0.5.0
description: >-
Bulk-triage unresolved Jira bugs with AI-driven recommendations and an
interactive HTML report. Scan also loads recently resolved bugs for regression
Expand Down
4 changes: 2 additions & 2 deletions triage/guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,15 @@ artifacts and published output from this workflow.
- **No Jira writes** — this workflow must not create, update, close, or comment on any Jira issue
- **No fabricated data** — if a field is missing from the Jira response, report it as missing; never invent values
- **No skipping issues** — every unresolved bug in the scan results must appear in the analysis and report
- **Read-only MCP tools only** — each phase declares its allowed tools; never call a tool outside that list. No phase may use write-oriented Jira tools (`jira_create_issue`, `jira_update_issue`, `jira_delete_issue`, `jira_transition_issue`, `jira_add_comment`, `jira_add_worklog`, `jira_create_issue_link`, etc.)
- **Read-only Jira access only** — each phase declares its allowed tools; never call a tool outside that list. The read-only restriction covers both Jira MCP tools and the approved `scripts/scan.py` REST client, which issues only `GET /rest/api/3/search/jql`. No phase may use write-oriented Jira tools (`jira_create_issue`, `jira_update_issue`, `jira_delete_issue`, `jira_transition_issue`, `jira_add_comment`, `jira_add_worklog`, `jira_create_issue_link`, etc.)

## Allowed Tools Per Phase

| Phase | Jira MCP tools (read-only) | Local tools |
|---------|-------------------------------------|--------------------------------|
| Run | Per phase below | Per phase below |
| Start | `jira_search` | `mkdir` (create artifact dir) |
| Scan | `jira_search` | Write `issues.json` and `resolved.json` |
| Scan | none (script calls REST API directly) | Run `scripts/scan.py`; read stdout/stderr |
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved
| Analyze | none | Read `issues.json`, read `resolved.json` (if present), write `analyzed.json` |
| Report | none | Read `analyzed.json`, read/update `issues.json` (renderer reads `jiraBaseUrl` from it); run `render_report.py`; write `ai-synthesis.json`, `report.html` |
| Assess (`/assess`) | `jira_search` | Optionally read `issues.json`; no required artifact writes |
Expand Down
Loading
Loading