Skip to content

feat(issue-fields): expose fullDatabaseId (BigInt) in list_issue_fields#2526

Draft
iulia-b wants to merge 1 commit into
github:mainfrom
iulia-b:iunia/fix-issue-fields-db-id
Draft

feat(issue-fields): expose fullDatabaseId (BigInt) in list_issue_fields#2526
iulia-b wants to merge 1 commit into
github:mainfrom
iulia-b:iunia/fix-issue-fields-db-id

Conversation

@iulia-b
Copy link
Copy Markdown
Contributor

@iulia-b iulia-b commented May 22, 2026

Summary

  • Add DatabaseID (int64) to IssueField struct, populated from fullDatabaseId BigInt scalar (returned as string) on all 4 concrete GQL union types
  • Repeat fullDatabaseId per union fragment (shurcooL/githubv4 cannot use interface-level fragments at union top-level)
  • Add parseFullDatabaseID helper to parse BigInt string to int64
  • Update tests to assert DatabaseID is populated from fullDatabaseId

Why

Fixes #

We are using this tool in two places:

  1. Set issue fields granular tool, which is using the GraphQL endpoint to update issue fields
  2. Issues write, which is using the REST endpoint to update issue fields on an issue
    Because of this, we need to have both node ID and database ID exposed in this tool so both other tools can use it.

What changed

MCP impact

  • No tool or API changes
  • Tool schema or behavior changed
  • New tool added

Prompts tested (tool changes only)

Security / limits

  • No security or limits impact
  • 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

Note: if you're renaming tools, you must add the tool aliases. For more information on how to do so, please refer to the official docs.

Lint & tests

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

Docs

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

- Add DatabaseID (int64) to IssueField struct, populated from fullDatabaseId
  BigInt scalar (returned as string) on all 4 concrete GQL union types
- Repeat fullDatabaseId per union fragment (shurcooL/githubv4 cannot use
  interface-level fragments at union top-level)
- Add parseFullDatabaseID helper to parse BigInt string to int64
- Update tests to assert DatabaseID is populated from fullDatabaseId
@iulia-b iulia-b self-assigned this May 22, 2026
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.

2 participants