Move a bug issue's board status (and optionally close it)
Use this to move an issue’s Status value on the triage board, and
optionally close the underlying issue in the same call.
Prerequisites
Section titled “Prerequisites”- The board already has a
Statusfield with the option you want to set. This tool looks the field up by name and never creates it — unlikeSeverity, there is noensure_status_fieldtool. If the board has noStatusfield or lacks the option you want, add it manually on the board’s Projects v2 settings. - The issue is already an item on that board.
-
Call, without closing the issue:
set_lifecycle_state {owner: "<owner>",repo: "<repo>",issueNumber: <n>,projectOwnerLogin: "<org-or-user>",projectNumber: <n>,status: "In Progress"}statusmust match an existing option name on the board’sStatusfield exactly. -
To also close the issue once its status reaches a terminal value (for example your board’s “Done”), add
closeIfDone:set_lifecycle_state {owner: "<owner>",repo: "<repo>",issueNumber: <n>,projectOwnerLogin: "<org-or-user>",projectNumber: <n>,status: "Done",closeIfDone: true}This tool does not infer which Status values are terminal from their name —
closeIfDone: truealways closes the issue via REST PATCH after the Status write succeeds, regardless of whichstatusstring you passed. Only set it on the call where you actually mean to close the issue. -
Handle known failure codes:
missing_scope(the token lacks theprojectOAuth scope required for this Projects v2 mutation),issue_not_on_board,missing_field(noStatusfield on the board),missing_option(no option matching yourstatusstring — the error’savailablelist shows valid options).
- If your org project has GitHub’s built-in Projects v2 workflows enabled
(Item added / Item closed / Pull request merged, etc.), Todo-on-add and
Done-on-close-or-merge may already happen natively without any call to
this tool — see
ADR-0003, which
governs that native automation (it lives in
github-sdlc-planning, not this plugin). Callset_lifecycle_stateexplicitly for transitions native automation doesn’t cover, such as marking In Progress.
See also
Section titled “See also”- how-to/get-lifecycle-state.md — read-only check of the same data.
- reference/tools.md — full input schema and error codes.