Skip to content

Add Project Issue Field updates#2941

Draft
zwick wants to merge 10 commits into
veralizeth/mcp-batch-bulk-field-valuefrom
zwick-add-issue-field-resolution
Draft

Add Project Issue Field updates#2941
zwick wants to merge 10 commits into
veralizeth/mcp-batch-bulk-field-valuefrom
zwick-add-issue-field-resolution

Conversation

@zwick

@zwick zwick commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds attached Issue Field support to update_project_item and update_project_items, with field targeting by name or numeric Project field ID. This PR is stacked on #2903 and must be retargeted to main after #2903 merges.

Why

Completes the remaining Issue Field name-resolution work.
Fixes github/planning-tracking#3523

What changed

  • Resolves attached Issue Field metadata and dispatches typed singular writes through setIssueFieldValue.
  • Batches Issue Field writes with aliased setIssueFieldValue mutations, Issue-content validation, and per-item outcomes.
  • Preserves standard Project field behavior and adds read/write regression coverage.

MCP impact

  • No tool or API changes
  • Tool schema or behavior changed - singular and batch Project item updates now support attached Issue Fields by name or ID.
  • New tool added

Prompts tested (tool changes only)

  • "Set the Customer Issue Field to Acme on this project issue."
  • "Set Risk to High for these project issues."
  • "List this project item with the Customer field by name."

Security / limits

  • No security or limits impact - Reuses existing Issue Field permissions, feature headers, and batch limits.
  • Auth / permissions considered
  • Data exposure, filtering, or token/size limits considered

Tool renaming

  • I am renaming tools as part of this PR (e.g. a part of a consolidation effort)
    • I have added the new tool aliases in deprecated_tool_aliases.go
  • I am not renaming tools as part of this PR

Lint & tests

  • Linted locally with ./script/lint
  • Tested locally with ./script/test

Docs

  • Not needed
  • Updated (README / docs / examples)

Resolve attached Issue Fields through project field names and dispatch singular updates through the Issue Field mutation while keeping batch writes explicit.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1d574277-3735-4356-a753-8354aa6b537c
@zwick zwick self-assigned this Jul 24, 2026
zwick and others added 9 commits July 24, 2026 10:51
Separate method, identifier, and typed value rules so clients can choose the correct updated_field variant.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1d574277-3735-4356-a753-8354aa6b537c
Resolve numeric Project field IDs before singular updates so attached Issue Fields use the same name-or-ID targeting contract as standard fields.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1d574277-3735-4356-a753-8354aa6b537c
Resolve each Project item to its underlying Issue and alias setIssueFieldValue so update_project_items supports attached Issue Fields with partial outcomes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1d574277-3735-4356-a753-8354aa6b537c
Accept option names or IDs regardless of how the field is targeted, and keep the updated_field schema guidance concise.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1d574277-3735-4356-a753-8354aa6b537c
Restore unrelated schema and standard batch behavior, isolate Issue Field helpers, and consolidate acceptance coverage without changing supported writes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1d574277-3735-4356-a753-8354aa6b537c
Use issue_fields only for Project attachment metadata and update_issue_suggestions only for setIssueFieldValue mutations, matching live schema behavior.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1d574277-3735-4356-a753-8354aa6b537c
Keep read and general field resolution independent of Issue Field schema features, and narrowly fall back for standard writes on hosts without the attachment bridge. Correct Issue Field error classification and align batch single-select option precedence with singular updates.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1d574277-3735-4356-a753-8354aa6b537c
Keep Issue Field value building and singular validation in projects.go, batch resolution in projects_batch.go, and the corresponding coverage in the existing project test files.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 1d574277-3735-4356-a753-8354aa6b537c
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1d574277-3735-4356-a753-8354aa6b537c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant