Skip to content

Commit 1aa2af2

Browse files
authored
Merge branch 'main' into claude/test-coverage-analysis-s33ri0
2 parents 5fa6d34 + a378370 commit 1aa2af2

16 files changed

Lines changed: 138 additions & 1089 deletions

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -872,6 +872,7 @@ The following sets of tools are available:
872872
- `assignees`: Usernames to assign to this issue (string[], optional)
873873
- `body`: Issue body content (string, optional)
874874
- `duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
875+
- `issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)
875876
- `issue_number`: Issue number to update (number, optional)
876877
- `labels`: Labels to apply to this issue (string[], optional)
877878
- `method`: Write operation to perform on a single issue.
@@ -887,6 +888,12 @@ The following sets of tools are available:
887888
- `title`: Issue title (string, optional)
888889
- `type`: Type of this issue. Only use if issue types are enabled for this repository. Use list_issue_types tool to get valid type values for this repository or its owner organization. If the repository doesn't support issue types, omit this parameter. (string, optional)
889890

891+
- **list_issue_fields** - List issue fields
892+
- **Required OAuth Scopes (any of)**: `repo`, `read:org`
893+
- **Accepted OAuth Scopes**: `admin:org`, `read:org`, `repo`, `write:org`
894+
- `owner`: The account owner of the repository or organization. The name is not case sensitive. (string, required)
895+
- `repo`: The name of the repository. When provided, returns fields for this specific repository (inherited from its organization). When omitted, returns org-level fields directly. (string, optional)
896+
890897
- **list_issue_types** - List available issue types
891898
- **Required OAuth Scopes (any of)**: `repo`, `read:org`
892899
- **Accepted OAuth Scopes**: `admin:org`, `read:org`, `repo`, `write:org`
@@ -897,6 +904,7 @@ The following sets of tools are available:
897904
- **Required OAuth Scopes**: `repo`
898905
- `after`: Cursor for pagination. Use the cursor from the previous response. (string, optional)
899906
- `direction`: Order direction. If provided, the 'orderBy' also needs to be provided. (string, optional)
907+
- `field_filters`: Filter by custom issue field values. Each entry takes a field_name and a value; the server looks up the field and coerces the value to its type (single-select option name, text, number, or YYYY-MM-DD date). (object[], optional)
900908
- `labels`: Filter by labels (string[], optional)
901909
- `orderBy`: Order issues by field. If provided, the 'direction' also needs to be provided. (string, optional)
902910
- `owner`: Repository owner (string, required)

docs/feature-flags.md

Lines changed: 3 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ runtime behavior (such as output formatting) won't appear here.
5858
- `assignees`: Usernames to assign to this issue (string[], optional)
5959
- `body`: Issue body content (string, optional)
6060
- `duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
61+
- `issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)
6162
- `issue_number`: Issue number to update (number, optional)
6263
- `labels`: Labels to apply to this issue (string[], optional)
6364
- `method`: Write operation to perform on a single issue.
@@ -68,14 +69,14 @@ runtime behavior (such as output formatting) won't appear here.
6869
- `milestone`: Milestone number (number, optional)
6970
- `owner`: Repository owner (string, required)
7071
- `repo`: Repository name (string, required)
71-
- `show_ui`: Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like labels, assignees, milestone, type, or state changes) and the user has already confirmed the action. (boolean, optional, conditional — visible when remote_mcp_ui_apps is enabled unless the client explicitly indicates it does not support io.modelcontextprotocol/ui)
72+
- `show_ui`: Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like labels, assignees, milestone, type, issue_fields, or state changes) and the user has already confirmed the action. (boolean, optional, conditional — visible when remote_mcp_ui_apps is enabled unless the client explicitly indicates it does not support io.modelcontextprotocol/ui)
7273
- `state`: New state (string, optional)
7374
- `state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
7475
- `title`: Issue title (string, optional)
7576
- `type`: Type of this issue. Only use if issue types are enabled for this repository. Use list_issue_types tool to get valid type values for this repository or its owner organization. If the repository doesn't support issue types, omit this parameter. (string, optional)
7677

7778
- **ui_get** - Get UI data
78-
- **Required OAuth Scopes**: `repo`, `read:org`
79+
- **Required OAuth Scopes (any of)**: `repo`, `read:org`
7980
- **Accepted OAuth Scopes**: `admin:org`, `read:org`, `repo`, `write:org`
8081
- `method`: The type of data to fetch (string, required)
8182
- `owner`: Repository owner (required for all methods) (string, required)
@@ -95,48 +96,6 @@ runtime behavior (such as output formatting) won't appear here.
9596
- `state`: New state (string, optional)
9697
- `title`: New title (string, optional)
9798

98-
### `remote_mcp_issue_fields`
99-
100-
- **issue_write** - Create or update issue/pull request
101-
- **Required OAuth Scopes**: `repo`
102-
- `assignees`: Usernames to assign to this issue (string[], optional)
103-
- `body`: Issue body content (string, optional)
104-
- `duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
105-
- `issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)
106-
- `issue_number`: Issue number to update (number, optional)
107-
- `labels`: Labels to apply to this issue (string[], optional)
108-
- `method`: Write operation to perform on a single issue.
109-
Options are:
110-
- 'create' - creates a new issue.
111-
- 'update' - updates an existing issue.
112-
(string, required)
113-
- `milestone`: Milestone number (number, optional)
114-
- `owner`: Repository owner (string, required)
115-
- `repo`: Repository name (string, required)
116-
- `state`: New state (string, optional)
117-
- `state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
118-
- `title`: Issue title (string, optional)
119-
- `type`: Type of this issue. Only use if issue types are enabled for this repository. Use list_issue_types tool to get valid type values for this repository or its owner organization. If the repository doesn't support issue types, omit this parameter. (string, optional)
120-
121-
- **list_issue_fields** - List issue fields
122-
- **Required OAuth Scopes (any of)**: `repo`, `read:org`
123-
- **Accepted OAuth Scopes**: `admin:org`, `read:org`, `repo`, `write:org`
124-
- `owner`: The account owner of the repository or organization. The name is not case sensitive. (string, required)
125-
- `repo`: The name of the repository. When provided, returns fields for this specific repository (inherited from its organization). When omitted, returns org-level fields directly. (string, optional)
126-
127-
- **list_issues** - List issues
128-
- **Required OAuth Scopes**: `repo`
129-
- `after`: Cursor for pagination. Use the cursor from the previous response. (string, optional)
130-
- `direction`: Order direction. If provided, the 'orderBy' also needs to be provided. (string, optional)
131-
- `field_filters`: Filter by custom issue field values. Each entry takes a field_name and a value; the server looks up the field and coerces the value to its type (single-select option name, text, number, or YYYY-MM-DD date). (object[], optional)
132-
- `labels`: Filter by labels (string[], optional)
133-
- `orderBy`: Order issues by field. If provided, the 'direction' also needs to be provided. (string, optional)
134-
- `owner`: Repository owner (string, required)
135-
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
136-
- `repo`: Repository name (string, required)
137-
- `since`: Filter by date (ISO 8601 timestamp) (string, optional)
138-
- `state`: Filter by state, by default both open and closed issues are returned when not provided (string, optional)
139-
14099
### `issues_granular`
141100

142101
- **add_sub_issue** - Add Sub-Issue

docs/insiders-features.md

Lines changed: 3 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ The list below is generated from the Go source. It covers tool **inventory and s
5252
- `assignees`: Usernames to assign to this issue (string[], optional)
5353
- `body`: Issue body content (string, optional)
5454
- `duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
55+
- `issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)
5556
- `issue_number`: Issue number to update (number, optional)
5657
- `labels`: Labels to apply to this issue (string[], optional)
5758
- `method`: Write operation to perform on a single issue.
@@ -62,14 +63,14 @@ The list below is generated from the Go source. It covers tool **inventory and s
6263
- `milestone`: Milestone number (number, optional)
6364
- `owner`: Repository owner (string, required)
6465
- `repo`: Repository name (string, required)
65-
- `show_ui`: Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like labels, assignees, milestone, type, or state changes) and the user has already confirmed the action. (boolean, optional, conditional — visible when remote_mcp_ui_apps is enabled unless the client explicitly indicates it does not support io.modelcontextprotocol/ui)
66+
- `show_ui`: Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like labels, assignees, milestone, type, issue_fields, or state changes) and the user has already confirmed the action. (boolean, optional, conditional — visible when remote_mcp_ui_apps is enabled unless the client explicitly indicates it does not support io.modelcontextprotocol/ui)
6667
- `state`: New state (string, optional)
6768
- `state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
6869
- `title`: Issue title (string, optional)
6970
- `type`: Type of this issue. Only use if issue types are enabled for this repository. Use list_issue_types tool to get valid type values for this repository or its owner organization. If the repository doesn't support issue types, omit this parameter. (string, optional)
7071

7172
- **ui_get** - Get UI data
72-
- **Required OAuth Scopes**: `repo`, `read:org`
73+
- **Required OAuth Scopes (any of)**: `repo`, `read:org`
7374
- **Accepted OAuth Scopes**: `admin:org`, `read:org`, `repo`, `write:org`
7475
- `method`: The type of data to fetch (string, required)
7576
- `owner`: Repository owner (required for all methods) (string, required)
@@ -89,48 +90,6 @@ The list below is generated from the Go source. It covers tool **inventory and s
8990
- `state`: New state (string, optional)
9091
- `title`: New title (string, optional)
9192

92-
### `remote_mcp_issue_fields`
93-
94-
- **issue_write** - Create or update issue/pull request
95-
- **Required OAuth Scopes**: `repo`
96-
- `assignees`: Usernames to assign to this issue (string[], optional)
97-
- `body`: Issue body content (string, optional)
98-
- `duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
99-
- `issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)
100-
- `issue_number`: Issue number to update (number, optional)
101-
- `labels`: Labels to apply to this issue (string[], optional)
102-
- `method`: Write operation to perform on a single issue.
103-
Options are:
104-
- 'create' - creates a new issue.
105-
- 'update' - updates an existing issue.
106-
(string, required)
107-
- `milestone`: Milestone number (number, optional)
108-
- `owner`: Repository owner (string, required)
109-
- `repo`: Repository name (string, required)
110-
- `state`: New state (string, optional)
111-
- `state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
112-
- `title`: Issue title (string, optional)
113-
- `type`: Type of this issue. Only use if issue types are enabled for this repository. Use list_issue_types tool to get valid type values for this repository or its owner organization. If the repository doesn't support issue types, omit this parameter. (string, optional)
114-
115-
- **list_issue_fields** - List issue fields
116-
- **Required OAuth Scopes (any of)**: `repo`, `read:org`
117-
- **Accepted OAuth Scopes**: `admin:org`, `read:org`, `repo`, `write:org`
118-
- `owner`: The account owner of the repository or organization. The name is not case sensitive. (string, required)
119-
- `repo`: The name of the repository. When provided, returns fields for this specific repository (inherited from its organization). When omitted, returns org-level fields directly. (string, optional)
120-
121-
- **list_issues** - List issues
122-
- **Required OAuth Scopes**: `repo`
123-
- `after`: Cursor for pagination. Use the cursor from the previous response. (string, optional)
124-
- `direction`: Order direction. If provided, the 'orderBy' also needs to be provided. (string, optional)
125-
- `field_filters`: Filter by custom issue field values. Each entry takes a field_name and a value; the server looks up the field and coerces the value to its type (single-select option name, text, number, or YYYY-MM-DD date). (object[], optional)
126-
- `labels`: Filter by labels (string[], optional)
127-
- `orderBy`: Order issues by field. If provided, the 'direction' also needs to be provided. (string, optional)
128-
- `owner`: Repository owner (string, required)
129-
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
130-
- `repo`: Repository name (string, required)
131-
- `since`: Filter by date (ISO 8601 timestamp) (string, optional)
132-
- `state`: Filter by state, by default both open and closed issues are returned when not provided (string, optional)
133-
13493
### `file_blame`
13594

13695
- **get_file_blame** - Get file blame information

pkg/github/__toolsnaps__/issue_write.snap

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,42 @@
2929
"description": "Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'.",
3030
"type": "number"
3131
},
32+
"issue_fields": {
33+
"description": "Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'.",
34+
"items": {
35+
"additionalProperties": false,
36+
"properties": {
37+
"delete": {
38+
"description": "Set to true to clear this field's current value on the issue. Cannot be combined with 'value' or 'field_option_name'.",
39+
"enum": [
40+
true
41+
],
42+
"type": "boolean"
43+
},
44+
"field_name": {
45+
"description": "Issue field name (case-insensitive). Must match a field returned by list_issue_fields for this repository or its organization.",
46+
"type": "string"
47+
},
48+
"field_option_name": {
49+
"description": "Option name for single-select fields. Validated against the field's options before the API call. Cannot be combined with 'value' or 'delete'.",
50+
"type": "string"
51+
},
52+
"value": {
53+
"description": "Value to set. Use for text, number, and date fields (date as YYYY-MM-DD). For single-select fields, prefer 'field_option_name' so the option is validated before the API call. Cannot be combined with 'field_option_name' or 'delete'.",
54+
"type": [
55+
"string",
56+
"number",
57+
"boolean"
58+
]
59+
}
60+
},
61+
"required": [
62+
"field_name"
63+
],
64+
"type": "object"
65+
},
66+
"type": "array"
67+
},
3268
"issue_number": {
3369
"description": "Issue number to update",
3470
"type": "number"
@@ -61,7 +97,7 @@
6197
"type": "string"
6298
},
6399
"show_ui": {
64-
"description": "Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like labels, assignees, milestone, type, or state changes) and the user has already confirmed the action.",
100+
"description": "Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like labels, assignees, milestone, type, issue_fields, or state changes) and the user has already confirmed the action.",
65101
"type": "boolean"
66102
},
67103
"state": {

0 commit comments

Comments
 (0)