Support singular Project Issue Field updates - #2941
Open
zwick wants to merge 3 commits into
Open
Conversation
Support name-based attached Issue Field updates for singular Project items while preserving existing read and standard field behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4c94f3ce-c04a-482f-830b-ab85abc3f6e4
Bypass Issue Field metadata resolution for standard field data types and recognize exact missing fragment-type schema errors. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4c94f3ce-c04a-482f-830b-ab85abc3f6e4
zwick
force-pushed
the
zwick-add-issue-field-resolution
branch
from
July 27, 2026 15:58
577a645 to
cfa16b2
Compare
veralizeth
reviewed
Jul 28, 2026
| } | ||
| } `graphql:"setIssueFieldValue(input: $input)"` | ||
| }{}, | ||
| setIssueFieldValueMutation{}, |
Contributor
There was a problem hiding this comment.
Only id/url are used. SetIssueFieldValues returns MinimalResponse{ID, URL}, so the extra IssueFieldValues selections were dead weight. Replacing it with a simpler type.
veralizeth
reviewed
Jul 28, 2026
| // are gated behind the update_issue_suggestions GraphQL feature flag. | ||
| ctxWithFeatures := ghcontext.WithGraphQLFeatures(ctx, "update_issue_suggestions") | ||
| if err := gqlClient.Mutate(ctxWithFeatures, &mutation, mutationInput, nil); err != nil { | ||
| response, err := SetIssueFieldValues(ctxWithFeatures, gqlClient, mutationInput) |
Contributor
There was a problem hiding this comment.
SetIssueFieldValues is exported so projects, calls it directly. Also the mutation call is extracted into SetIssueFieldValues so both set_issue_fields (issues) and update_project_item (projects) can use it, with the flagged ctx.
Contributor
There was a problem hiding this comment.
Pull request overview
Adds singular attached Issue Field updates to update_project_item while preserving standard Project field behavior.
Changes:
- Resolves and updates attached text, number, date, and single-select fields by name.
- Reuses a minimal, conflict-free Issue Field mutation response.
- Adds regression and validation coverage for reads, writes, metadata, and unsupported items.
Show a summary per file
| File | Description |
|---|---|
pkg/github/projects.go |
Dispatches attached Issue Field updates and validates values/items. |
pkg/github/projects_test.go |
Tests reads, dispatch, conversions, and item validation. |
pkg/github/projects_resolver.go |
Resolves attached Issue Field metadata and options. |
pkg/github/projects_resolver_test.go |
Tests metadata resolution, fallback, and existing behavior. |
pkg/github/issues_granular.go |
Extracts the shared minimal mutation helper. |
pkg/github/granular_tools_test.go |
Verifies the simplified mutation selection and existing tool behavior. |
Review details
- Files reviewed: 6/6 changed files
- Comments generated: 0
- Review effort level: Medium
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
Adds focused attached Issue Field support to singular
update_project_itemname-form writes. This PR is stacked on #2903.Why
Completes the singular Issue Field update path while preserving existing Project field behavior.
Addresses github/planning-tracking#3523
What changed
field_namesreads surface attached Issue Field values without changing read queries.update_project_itemby field name.MCP impact
Prompts tested (tool changes only)
Security / limits
Tool renaming
deprecated_tool_aliases.goLint & tests
./script/lint./script/testDocs