Title: ## Pull request overview · Issue #63649 · nodejs/node · GitHub
Open Graph Title: ## Pull request overview · Issue #63649 · nodejs/node
X Title: ## Pull request overview · Issue #63649 · nodejs/node
Description: Pull request overview This PR extends the issues tool surface to support reading and writing GitHub Issues 2.0 custom field values, aligning issue_read/issue_write behavior with the newer REST/GraphQL capabilities introduced alongside th...
Open Graph Description: Pull request overview This PR extends the issues tool surface to support reading and writing GitHub Issues 2.0 custom field values, aligning issue_read/issue_write behavior with the newer REST/Grap...
X Description: Pull request overview This PR extends the issues tool surface to support reading and writing GitHub Issues 2.0 custom field values, aligning issue_read/issue_write behavior with the newer REST/Grap...
Opengraph URL: https://github.com/nodejs/node/issues/63649
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"## Pull request overview","articleBody":"## Pull request overview\n\nThis PR extends the issues tool surface to support reading and writing GitHub Issues 2.0 custom field values, aligning `issue_read`/`issue_write` behavior with the newer REST/GraphQL capabilities introduced alongside the go-github upgrade.\n\n**Changes:**\n- Added `issue_fields` input to `issue_write`, including name-based resolution of field IDs and (for single-select) option validation.\n- Expanded `issue_read` output handling to include REST `issue_field_values`, and added best-effort GraphQL enrichment to normalize to `field_values` where possible.\n- Updated minimal/DTO types and unit tests to cover issue field value parsing and write request shaping.\n\n\u003cdetails\u003e\n\u003csummary\u003eShow a summary per file\u003c/summary\u003e\n\n| File | Description |\r\n| ---- | ----------- |\r\n| README.md | Documents the new `issue_fields` input for `issue_write`. |\r\n| pkg/github/minimal_types.go | Adds REST-backed minimal issue field value types and separates REST `issue_field_values` from GraphQL-normalized `field_values`. |\r\n| pkg/github/issues.go | Implements parsing + GraphQL metadata resolution for `issue_fields`, wires field values into create/update, and adjusts search/get enrichment paths. |\r\n| pkg/github/issues_test.go | Adds/updates tests for get/write behavior involving issue field values. |\r\n| pkg/github/issue_fields.go | Fetches/stores GraphQL `fullDatabaseId` for issue fields and adds parsing helper. |\r\n| pkg/github/issue_fields_test.go | Updates expectations to include `fullDatabaseId`/`DatabaseID`. |\r\n| pkg/github/__toolsnaps__/issue_write.snap | Updates tool schema snapshot to include `issue_fields`. |\r\n| docs/insiders-features.md | Reflects the `issue_fields` parameter in generated docs. |\r\n| docs/feature-flags.md | Reflects the `issue_fields` parameter in generated docs. |\n\u003c/details\u003e\n\n## Copilot's findings\n\n\n\n\u003cdetails\u003e\n\u003csummary\u003eComments suppressed due to low confidence (1)\u003c/summary\u003e\n\n**pkg/github/issues.go:1599**\n* `searchIssuesHandler` now always performs GraphQL field_values enrichment whenever there are results, and returns an error if GraphQL is unavailable or the query fails. This looks like a regression of the documented behavior of `FeatureFlagIssueFields` (which is meant to gate search_issues field_values enrichment); please restore the feature-flag check so search_issues works without GraphQL issue fields features enabled.\n```\n\tvar fieldValuesByID map[string][]MinimalFieldValue\n\tif len(result.Issues) \u003e 0 {\n\t\tgqlClient, err := deps.GetGQLClient(ctx)\n\t\tif err != nil {\n\t\t\treturn utils.NewToolResultErrorFromErr(errorPrefix+\": failed to get GitHub GraphQL client\", err), nil\n\t\t}\n\t\tfieldValuesByID, err = fetchIssueFieldValuesByNodeID(ctx, gqlClient, result.Issues)\n\t\tif err != nil {\n\t\t\treturn ghErrors.NewGitHubGraphQLErrorResponse(ctx, errorPrefix+\": failed to fetch issue field values\", err), nil\n\t\t}\n\t}\n```\n\u003c/details\u003e\n\n\n- **Files reviewed:** 9/9 changed files\n- **Comments generated:** 2\n\n\n\n\n_Originally posted by @copilot-pull-request-reviewer in https://github.com/github/github-mcp-server/pull/2551#pullrequestreview-4365741362_","author":{"url":"https://github.com/leuasseurfarrelds247-arch","@type":"Person","name":"leuasseurfarrelds247-arch"},"datePublished":"2026-05-29T17:13:01.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/63649/node/issues/63649"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:ca9a9124-54f4-b08a-6b54-b64f4e065605 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | CC06:1E3F9C:2C7DA:3B9BB:6A6312B8 |
| html-safe-nonce | 3086228e9608ffd73b93328b1c3ff5787c15b61a5ef79c439cf9104c72158542 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQzA2OjFFM0Y5QzoyQzdEQTozQjlCQjo2QTYzMTJCOCIsInZpc2l0b3JfaWQiOiI0OTUwMTQ5ODg2MDY1NDI1MjAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 712d05f127d486f39cc4ccfc0b67c48383f79539990626140587a5c13c1e5973 |
| hovercard-subject-tag | issue:4550271202 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/nodejs/node/63649/issue_layout |
| twitter:image | https://opengraph.githubassets.com/f7e6476bb6a6ad9330a34e3f8247f0fa0727626eb9c48e6947de0704189aabac/nodejs/node/issues/63649 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/f7e6476bb6a6ad9330a34e3f8247f0fa0727626eb9c48e6947de0704189aabac/nodejs/node/issues/63649 |
| og:image:alt | Pull request overview This PR extends the issues tool surface to support reading and writing GitHub Issues 2.0 custom field values, aligning issue_read/issue_write behavior with the newer REST/Grap... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | leuasseurfarrelds247-arch |
| hostname | github.com |
| expected-hostname | github.com |
| None | 1a6c056e02f174fffc096c521ec0ff6fb83e40a2ec8cb8875466ec1524872dd6 |
| turbo-cache-control | no-preview |
| go-import | github.com/nodejs/node git https://github.com/nodejs/node.git |
| octolytics-dimension-user_id | 9950313 |
| octolytics-dimension-user_login | nodejs |
| octolytics-dimension-repository_id | 27193779 |
| octolytics-dimension-repository_nwo | nodejs/node |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 27193779 |
| octolytics-dimension-repository_network_root_nwo | nodejs/node |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 6a93e25585f487ddff9e3996c06d5b869d6e1828 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width