sincecutoff.com
← all changes

GitHub GraphQL adds issue field schema and value types

Introduced 2026-03-12 · score 0.97

HOW TO USE IT

When tooling must read issue field definitions and values, query `Repository.issueFields` and `Issue.issueFieldValues`, selecting concrete union members with inline fragments. Use `IssueFieldCommon` and `IssueFieldValueCommon` for shared fields; `IssueFieldCreateOrUpdateInput` is for supplying values, not reading them.

query($owner: String!, $name: String!, $first: Int!) { repository(owner: $owner, name: $name) { issueFields(first: $first) { nodes { __typename ... on IssueFieldCommon { id name createdAt dataType description visibility } ... on IssueFieldSingleSelect { options { id name color priority } } } pageInfo { hasNextPage endCursor } } } }
query($owner: String!, $name: String!, $number: Int!, $first: Int!) { repository(owner: $owner, name: $name) { issue(number: $number) { issueFieldValues(first: $first) { nodes { __typename ... on IssueFieldValueCommon { field { __typename ... on IssueFieldCommon { id name dataType } } } ... on IssueFieldDateValue { value } ... on IssueFieldNumberValue { value } ... on IssueFieldSingleSelectValue { name } ... on IssueFieldTextValue { value } } pageInfo { hasNextPage endCursor } } } } }

WHY THIS HELPS

Build tooling that reads issue field definitions and values through the GitHub GraphQL API.

REQUIREMENTS AND LIMITATIONS

  • repository(owner:, name:) (required): Selects the repository by owner and name.
  • issue(number:) (required): Selects the issue by its number in the repository.
  • first: Returns the first n connection elements; use `pageInfo` and `after` to paginate.
  • IssueFieldCreateOrUpdateInput.fieldId (required): ID of the issue field.
  • IssueFieldCreateOrUpdateInput.dateValue: Date field value.
  • IssueFieldCreateOrUpdateInput.numberValue: Numeric field value.
  • IssueFieldCreateOrUpdateInput.singleSelectOptionId: ID of the selected single-select option.
  • IssueFieldCreateOrUpdateInput.textValue: Text field value.
  • IssueFieldCreateOrUpdateInput.delete: Set true to delete the field value.
  • IssueFieldSingleSelectOptionInput.color (required): Option display color: BLUE, GRAY, GREEN, ORANGE, PINK, PURPLE, RED, or YELLOW.
  • IssueFieldSingleSelectOptionInput.name (required): Option name.
  • IssueFieldSingleSelectOptionInput.priority (required): Option priority order.
  • IssueFieldOrder.direction (required): Ordering direction.
  • IssueFieldOrder.field (required): Ordering field: NAME or CREATED_AT.
  • `IssueFieldCreateOrUpdateInput` requires `fieldId`; its value fields include `dateValue`, `numberValue`, `singleSelectOptionId`, and `textValue`.
  • The added field data types are `DATE`, `NUMBER`, `TEXT`, and `SINGLE_SELECT`.
  • The added visibility values are `ALL` and `ORG_ONLY`.
  • The added issue field order values are `NAME` and `CREATED_AT`.
  • Single-select options require `color`, `name`, and `priority`; `color` accepts `BLUE`, `GRAY`, `GREEN`, `ORANGE`, `PINK`, `PURPLE`, `RED`, or `YELLOW`.
  • Docs conflict: Current official schema docs list the additional `MULTI_SELECT` field and value types, beyond the four types stated in the card; current docs also add `multiSelectOptionIds`, `confidence`, `rationale`, and `suggest` to `IssueFieldCreateOrUpdateInput`. The current docs are newer than the 2026-03-12 change. https://docs.github.com/en/graphql/reference/issues
  • Docs conflict: Current changelog documents `Repository.issueFields` and its pagination/order arguments in a later schema change than 2026-03-12. https://docs.github.com/en/graphql/overview/changelog?apiVersion=2022-11-28

FIRST-PARTY EVIDENCE

Check the installed version and the source before using it. Entry JSON

Report a problem with this card