Add node IDs to project resolver results#2922
Merged
Merged
Conversation
Split out of #2903 as a small prerequisite refactor. - Add a NodeID field to ResolvedField, populated for all three field variants in listAllProjectFields. - Refactor resolveProjectItemIDByIssueNumber into a thin wrapper over a new resolveProjectItemByIssueNumber that also returns the item node ID, delegating to resolveProjectItemByIssueNumberWithProjectID for an already-resolved project ID. The projectItems query now selects the item node ID alongside its full database ID. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 89f897b0-115f-4435-a071-46fb6c49be86
Contributor
There was a problem hiding this comment.
Pull request overview
Exposes GraphQL node IDs from internal project field and item resolvers for upcoming batched writes.
Changes:
- Adds node IDs to all resolved project field variants.
- Adds item resolution helpers returning both node and database IDs.
- Updates pagination tests for item node IDs.
Show a summary per file
| File | Description |
|---|---|
pkg/github/projects_resolver.go |
Adds field and item node-ID resolution. |
pkg/github/projects_resolver_test.go |
Updates item resolver query fixtures and assertions. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 2
- Review effort level: Medium
…rename item resolver test - Assert field.NodeID in Test_ResolveProjectFieldByName_Success. - Add Test_ResolveProjectFieldByName_NodeIDsForAllVariants covering single-select, iteration, and generic fields (asserts NodeID + DataType). - Rename Test_ResolveProjectItemIDByIssueNumber_Success to Test_ResolveProjectItemByIssueNumber_Success to match the resolver it calls. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 89f897b0-115f-4435-a071-46fb6c49be86
zwick
marked this pull request as ready for review
July 21, 2026 20:38
RossTarrant
approved these changes
Jul 22, 2026
SamMorrowDrums
approved these changes
Jul 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Small prerequisite refactor: the project resolver helpers now surface GraphQL node IDs for project items and fields.
Why
Split out of #2903 to keep that PR reviewable. An upcoming change performs batched project-item writes and needs the item/field node IDs exposed here.
What changed
NodeIDtoResolvedField, populated for all three field variants inlistAllProjectFields.resolveProjectItemIDByIssueNumberinto a thin wrapper over a newresolveProjectItemByIssueNumber(returns the item node ID alongside its database ID), which delegates toresolveProjectItemByIssueNumberWithProjectIDfor an already-resolved project ID. TheprojectItemsquery now selects the item node ID.MCP impact
Prompts tested (tool changes only)
N/A - internal resolver refactor, no tool changes.
Security / limits
Tool renaming
Lint & tests
./script/lint./script/testDocs