Planissues
GET/repositories/{repo_id}/issue-settings
Get a repository's effective issue settings, resolved through the group chain
get_repo_issue_settings
issue_settings:read
A token needs theissue_settings:readscope: Read effective issue settingsGranted byread_api,read_repository,write_api,write_repository.Every operation this scope unlocks
Returns the issue settings that apply to the repository. Each field takes the repository's own value when it overrides its groups, otherwise the value of the nearest group that sets it, otherwise the default; a group that overrides its own parents ends the search there. Anyone who can see the repository's work items may read them — on a public repository, without signing in.
Parameters
Path
- repo_idRepositoryId (string · uuid)Repository ID
Responses
200The effective settingsapplication/json
- anchor_drift_actionAnchorDriftActionflagcommentnoneWhat happens when an anchored region of code changes beyond recognition.
- auto_close_on_verifiedbooleanWhether a work item closes as soon as it is verified. Defaults to
false: passing criteria make an item verified, and merging the merge request that closes it makes it done. - auto_reopen_on_orphaned_closebooleanA closed item whose closing commit is in no branch any more reopens itself.
- auto_reopen_on_regressionboolean
- binding_change_resets_evidencebooleanReset a criterion's evidence when its binding changes. Default true.
- blocked_by_blocks_closeboolean
- close_on_commit_keywordboolean
- closing_branchesarray of BranchPattern (string)Branch globs whose commits close work items, in addition to the default branch, which always does. Empty by default.
- default_assignee_from_codeownersboolean
- default_issue_typeWorkItemTypeepicstorybugtaskspikechoreincidentsub_taskThe kind of work item. The type decides where an item may live (a group or a repository), which types it may have as children, and which fields it accepts.
- on_branch_createdAutoTransition
- on_mr_closedAutoTransition
- on_mr_mergedAutoTransition
- on_mr_openedAutoTransition
- override_group_settingsboolean
- public_issue_filingboolean
- require_verified_criteria_to_closeboolean
statusesarray of StatusDef
- The StatusDef schema
- categoryStatusCategorytriagetodoin_progressin_reviewblockeddonecancelledThe category this status belongs to. It cannot be changed after the status is created: to move work to a different category, add a status and archive this one.
- namestring
- status_idStatusId (string)
- archivedbooleanoptional
- colorLabelColor (string) or nulloptional
- is_defaultbooleanoptionalThe status new issues land in. Exactly one status in a set carries it, and it must be open.
- todo_ignore_pathsarray of stringPath globs never scanned for TODO comments. Defaults to the usual locations of vendored code.
- todo_policyTodoPolicyignoreindexpromoteWhat a bare
// TODO:in a push becomes. - todo_promote_typeWorkItemTypeepicstorybugtaskspikechoreincidentsub_taskThe kind of work item. The type decides where an item may live (a group or a repository), which types it may have as children, and which fields it accepts.
transitionsTransitionTable
- The TransitionTable schema
- tableobject
200 exampleSynthesized example
{
"anchor_drift_action": "flag",
"auto_close_on_verified": false,
"auto_reopen_on_orphaned_close": false,
"auto_reopen_on_regression": false,
"binding_change_resets_evidence": false,
"blocked_by_blocks_close": false,
"close_on_commit_keyword": false,
"closing_branches": [
"closing-branches-5d05",
"closing-branches-e0d5"
],
"default_assignee_from_codeowners": false,
"default_issue_type": "epic",
"on_branch_created": "disabled",
"on_mr_closed": "disabled",
"on_mr_merged": "disabled",
"on_mr_opened": "disabled",
"override_group_settings": false,
"public_issue_filing": false,
"require_verified_criteria_to_close": false,
"statuses": [
{
"category": "triage",
"name": "payments-api",
"status_id": "289b4f77-37e8-47d8-ab29-8ef0edc2faf8"
}
],
"todo_ignore_paths": [
"todo-ignore-paths-00e0",
"todo-ignore-paths-5142"
],
"todo_policy": "ignore",
"todo_promote_type": "epic",
"transitions": {
"table": {}
}
}
400Bad request — a path parameter is not a well-formed value of its typeapplication/json
Error codes
- BAD_REQUESTThe request is malformed: a parameter or a body field is not a well-formed value of its type
errorErrorBody
- The ErrorBody schema
- codestringThe coarse category, tied to the status:
NOT_FOUND,CONFLICT,INSUFFICIENT_SCOPE. Every error has one; the API reference's error catalogue lists them all. - messagestringWhat went wrong, for a person. Written to be read, not parsed: match on
reasonorcode. - fieldstring or nulloptionalOn a
400that refused one field's value, the field, as its JSON path:email,items[0].name. Put the message under that input. Absent on every other error. - reasonstring or nulloptionalThe specific code, when the error has one:
LAST_ORGANIZATION_OWNER,BRANCH_PROTECTED. The message starts with it too. Match on this when it is present, and oncodeotherwise. - required_scopestring or nulloptionalThe scope the access token was missing, on
INSUFFICIENT_SCOPE. - violationsanyoptionalPresent on the structured-validation errors (
PROVIDER_VALIDATION_FAILEDper-node,PIPELINE_VALIDATION_FAILEDDAG): a JSON array of the offending elements, so a caller can fix every one in a single round-trip. Absent (omitted) on every other error.
400 exampleSynthesized example
{
"error": {
"code": "code-4025",
"message": "Label every synthesized example"
}
}
401Unauthenticated — no credential, or an invalid oneapplication/json
Error codes
- UNAUTHORIZEDNo credential was sent, or the one sent is invalid, expired or revoked
errorErrorBody
- The ErrorBody schema
- codestringThe coarse category, tied to the status:
NOT_FOUND,CONFLICT,INSUFFICIENT_SCOPE. Every error has one; the API reference's error catalogue lists them all. - messagestringWhat went wrong, for a person. Written to be read, not parsed: match on
reasonorcode. - fieldstring or nulloptionalOn a
400that refused one field's value, the field, as its JSON path:email,items[0].name. Put the message under that input. Absent on every other error. - reasonstring or nulloptionalThe specific code, when the error has one:
LAST_ORGANIZATION_OWNER,BRANCH_PROTECTED. The message starts with it too. Match on this when it is present, and oncodeotherwise. - required_scopestring or nulloptionalThe scope the access token was missing, on
INSUFFICIENT_SCOPE. - violationsanyoptionalPresent on the structured-validation errors (
PROVIDER_VALIDATION_FAILEDper-node,PIPELINE_VALIDATION_FAILEDDAG): a JSON array of the offending elements, so a caller can fix every one in a single round-trip. Absent (omitted) on every other error.
401 exampleSynthesized example
{
"error": {
"code": "code-f142",
"message": "Draw the region map from operation density"
}
}
403Forbidden — the caller's access level or token scope is insufficientapplication/json
Error codes
- FORBIDDENYou are signed in but may not do this here;
reasonnames the permission or the rule that refused it - INSUFFICIENT_SCOPEThe access token lacks the scope this operation needs;
required_scopenames it - PERMISSION_REQUIREDYou need a permission you do not hold here; the message names it
errorErrorBody
- The ErrorBody schema
- codestringThe coarse category, tied to the status:
NOT_FOUND,CONFLICT,INSUFFICIENT_SCOPE. Every error has one; the API reference's error catalogue lists them all. - messagestringWhat went wrong, for a person. Written to be read, not parsed: match on
reasonorcode. - fieldstring or nulloptionalOn a
400that refused one field's value, the field, as its JSON path:email,items[0].name. Put the message under that input. Absent on every other error. - reasonstring or nulloptionalThe specific code, when the error has one:
LAST_ORGANIZATION_OWNER,BRANCH_PROTECTED. The message starts with it too. Match on this when it is present, and oncodeotherwise. - required_scopestring or nulloptionalThe scope the access token was missing, on
INSUFFICIENT_SCOPE. - violationsanyoptionalPresent on the structured-validation errors (
PROVIDER_VALIDATION_FAILEDper-node,PIPELINE_VALIDATION_FAILEDDAG): a JSON array of the offending elements, so a caller can fix every one in a single round-trip. Absent (omitted) on every other error.
403 exampleSynthesized example
{
"error": {
"code": "code-9555",
"message": "Stream pipeline status into the run header"
}
}
404Repository not foundapplication/json
Error codes
- NOT_FOUNDThe resource does not exist — or exists and you cannot see it: a private resource you have no access to answers exactly as an absent one does
errorErrorBody
- The ErrorBody schema
- codestringThe coarse category, tied to the status:
NOT_FOUND,CONFLICT,INSUFFICIENT_SCOPE. Every error has one; the API reference's error catalogue lists them all. - messagestringWhat went wrong, for a person. Written to be read, not parsed: match on
reasonorcode. - fieldstring or nulloptionalOn a
400that refused one field's value, the field, as its JSON path:email,items[0].name. Put the message under that input. Absent on every other error. - reasonstring or nulloptionalThe specific code, when the error has one:
LAST_ORGANIZATION_OWNER,BRANCH_PROTECTED. The message starts with it too. Match on this when it is present, and oncodeotherwise. - required_scopestring or nulloptionalThe scope the access token was missing, on
INSUFFICIENT_SCOPE. - violationsanyoptionalPresent on the structured-validation errors (
PROVIDER_VALIDATION_FAILEDper-node,PIPELINE_VALIDATION_FAILEDDAG): a JSON array of the offending elements, so a caller can fix every one in a single round-trip. Absent (omitted) on every other error.
404 exampleSynthesized example
{
"error": {
"code": "code-91d2",
"message": "Pin a page's payload to the build that rendered it"
}
}
CLI
gitmoap issues get-repo-settings
- --repo-ididRepository ID (id or owner/repo path)