Fix Issue
fix_issueOpen a draft pull request that fixes one issue of the caller's account, on the customer's own repository. The order that works: call list_issues to pick an open issue (status NEW, ONGOING or REGRESSED), call get_issue and read its investigation block, and when that block names a root cause that was code-verified (found in the repository, not guessed from telemetry alone), call fix_issue with the fingerprint. The answer is the start of the fix, not its result: RUNNING means the fix started and can take half an hour, after which the fix block of get_issue carries the draft pull request link or the reason none was opened. INELIGIBLE carries a reason: for NO_BRIEF call start_investigation, wait until get_issue shows the investigation block, then call fix_issue again; for PR_ALREADY_OPEN read the open pull request's link on get_issue, which is the fix; ISSUE_NOT_OPEN means the issue is resolved or suppressed so there is nothing to fix; ISSUE_UNKNOWN means the fix service could not read the issue's status, so confirm the fingerprint with get_issue. BUSY on another issue means wait for that fix and call again; BUSY on this issue means its own fix is already running, so read its fix block on get_issue. PR_OPENED means the pull request was opened now and its link is on get_issue. FAILED means the fix failed for the reason given; starting again retries only the pull request when a branch was pushed. A fix block ending ALREADY_IN_PROGRESS means the fix found a pull request somebody else opened that already addresses the issue, linked on get_issue: have a person review that one; when it does not fit, call fix_issue again with ignoreExistingPullRequests=true and the fix writes its own. UNAVAILABLE means the fix service did not answer in time and may have started, so read the fix block on get_issue before calling again. NOT_FOUND means the account holds no issue with that fingerprint; NOT_AN_ISSUE means it is a problem on the Overview, which is fixed from its page, not here. DISABLED means the account has not switched fixes on; INVALID_HINT names the hint rule broken. Read next on the answer for what to do. The fix never merges anything: a person reviews the draft pull request.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"fingerprint": "<fingerprint>"
},
"name": "fix_issue"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hint | No | One line for the engineer writing the fix, such as where the defect lives or what to leave alone (default none; at most 500 characters, no line break, plain prose only: no [ or ] and no ===) | |
| fingerprint | Yes | The issue fingerprint (from list_issues) | |
| ignoreExistingPullRequests | No | true to write a fix even though a pull request somebody else opened already addresses the issue (the fix block says ALREADY_IN_PROGRESS); default false, which stops at that pull request and links it |