You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge main + regression test for IssueRequest omitempty drop
Resolve merge conflicts in feature-flags.md and insiders-features.md by
regenerating with `generate-docs`. Delete the FF-snap variants that were
removed on main.
Add Test_IssueRequest_EmptyFieldValues_OmittedByJSON to pin the exact
behaviour that motivates the GraphQL deleteIssueFieldValue mutation in
this PR: an empty []*IssueRequestFieldValue{} is dropped from the JSON
body by go-github's `omitempty` tag, so a REST PATCH alone can never
clear a field's last value. If go-github ever drops the tag we'll know
straight away.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
-`reviewers`: GitHub usernames or ORG/team-slug team reviewers to request reviews from (string[], optional)
48
+
-`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 reviewers) 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)
47
49
-`title`: PR title (string, required)
48
50
49
51
-**get_me** - Get my user profile
50
52
-**MCP App UI**: `ui://github-mcp-server/get-me`
51
53
- No parameters required
52
54
53
-
-**issue_write** - Create or update issue
55
+
-**issue_write** - Create or update issue/pull request
-`assignees`: Usernames to assign to this issue (string[], optional)
57
59
-`body`: Issue body content (string, optional)
58
60
-`duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
59
-
-`issue_number`: Issue number to update (number, optional)
60
-
-`labels`: Labels to apply to this issue (string[], optional)
61
-
-`method`: Write operation to perform on a single issue.
62
-
Options are:
63
-
- 'create' - creates a new issue.
64
-
- 'update' - updates an existing issue.
65
-
(string, required)
66
-
-`milestone`: Milestone number (number, optional)
67
-
-`owner`: Repository owner (string, required)
68
-
-`repo`: Repository name (string, required)
69
-
-`state`: New state (string, optional)
70
-
-`state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
71
-
-`title`: Issue title (string, optional)
72
-
-`type`: Type of this issue. Only use if the repository has issue types configured. Use list_issue_types tool to get valid type values for the organization. If the repository doesn't support issue types, omit this parameter. (string, optional)
73
-
74
-
### `remote_mcp_issue_fields`
75
-
76
-
-**issue_write** - Create or update issue
77
-
-**Required OAuth Scopes**: `repo`
78
-
-`assignees`: Usernames to assign to this issue (string[], optional)
79
-
-`body`: Issue body content (string, optional)
80
-
-`duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
81
61
-`issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', 'field_option_names', or 'delete: true'. (object[], optional)
82
62
-`issue_number`: Issue number to update (number, optional)
83
63
-`labels`: Labels to apply to this issue (string[], optional)
-`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)
92
73
-`state`: New state (string, optional)
93
74
-`state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
94
75
-`title`: Issue title (string, optional)
95
-
-`type`: Type of this issue. Only use if the repository has issue types configured. Use list_issue_types tool to get valid type values for the organization. If the repository doesn't support issue types, omit this parameter. (string, optional)
76
+
-`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)
-`owner`: The account owner of the repository or organization. The name is not case sensitive. (string, required)
101
-
-`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)
81
+
-`method`: The type of data to fetch (string, required)
82
+
-`owner`: Repository owner (required for all methods) (string, required)
83
+
-`repo`: Repository name (required for labels, assignees, milestones, branches, issue fields, reviewers) (string, optional)
102
84
103
-
-**list_issues** - List issues
85
+
-**update_pull_request** - Edit pull request
104
86
-**Required OAuth Scopes**: `repo`
105
-
-`after`: Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs. (string, optional)
106
-
-`direction`: Order direction. If provided, the 'orderBy' also needs to be provided. (string, optional)
107
-
-`field_filters`: Filter by custom issue field values. Each entry takes a field_name and either 'value' (text, number, YYYY-MM-DD date, or single-select option name) or 'values' (multi-select option names). For multi-select fields, all listed values must be set on an issue for it to match (AND semantics) — to match any-of, make multiple list_issues calls and union the results. (object[], optional)
108
-
-`labels`: Filter by labels (string[], optional)
109
-
-`orderBy`: Order issues by field. If provided, the 'direction' also needs to be provided. (string, optional)
87
+
-**MCP App UI**: `ui://github-mcp-server/pr-edit`
88
+
-`base`: New base branch name (string, optional)
89
+
-`body`: New description (string, optional)
90
+
-`draft`: Mark pull request as draft (true) or ready for review (false) (boolean, optional)
-`fields`: Array of issue field values to set. Each element must have a 'field_id' (string, the GraphQL node ID of the field) and exactly one value field: 'text_value' for text fields, 'number_value' for number fields, 'date_value' (ISO 8601 date string) for date fields, or 'single_select_option_id' (the GraphQL node ID of the option) for single select fields. Set 'delete' to true to remove a field value. (object[], required)
134
+
-`fields`: Array of issue field values to set. Each element must have a 'field_id' (string, the GraphQL node ID of the field) and exactly one value field: 'text_value' for text fields, 'number_value' for number fields, 'date_value' (ISO 8601 date string) for date fields, 'single_select_option_id' (the GraphQL node ID of the option) for single select fields, or 'multi_select_option_ids' (an array of GraphQL node IDs) for multi select fields. Set 'delete' to true to remove a field value. (object[], required)
152
135
-`issue_number`: The issue number to update (number, required)
153
136
-`owner`: Repository owner (username or organization) (string, required)
-`confidence`: How confident you are in this choice. Use 'high' for clear signal or explicit user request, 'medium' for reasonable inference with some ambiguity, 'low' for best guess with limited signal. (string, optional)
184
+
-`confidence`: How confident you are in this choice. Use 'HIGH' for clear signal or explicit user request, 'MEDIUM' for reasonable inference with some ambiguity, 'LOW' for best guess with limited signal. (string, optional)
202
185
-`is_suggestion`: If true, this issue type change is sent to the API as a suggestion (suggest:true) rather than an applied value. Whether the type is applied or recorded as a proposal is determined by the API. (boolean, optional)
203
186
-`issue_number`: The issue number to update (number, required)
204
187
-`issue_type`: The issue type to set (string, required)
-`title`: The new title for the pull request (string, required)
289
272
273
+
### `file_blame`
274
+
275
+
-**get_file_blame** - Get file blame information
276
+
-**Required OAuth Scopes**: `repo`
277
+
-`after`: Cursor for pagination. Use the cursor from the previous response. (string, optional)
278
+
-`end_line`: Optional 1-based ending line of the window of interest. Must be >= start_line when both are provided. (number, optional)
279
+
-`owner`: Repository owner (username or organization) (string, required)
280
+
-`path`: Path to the file in the repository, relative to the repository root (string, required)
281
+
-`perPage`: Results per page for pagination (min 1, max 100) (number, optional)
282
+
-`ref`: Git reference (branch, tag, or commit SHA). Defaults to the repository's default branch (HEAD). (string, optional)
283
+
-`repo`: Repository name (string, required)
284
+
-`start_line`: Optional 1-based starting line of the window of interest. Only ranges overlapping [start_line, end_line] are returned, clamped to the window. (number, optional)
0 commit comments