sincecutoff.com
← all changes

GitHub GraphQL adds TeamDiscussion queries and mutations

Introduced 2026-01-06 · score 0.98

HOW TO USE IT

If your target schema includes the Team Discussions fields, use the `Team.discussion` or `Team.discussions` fields to read discussions and the `createTeamDiscussion`, `updateTeamDiscussion`, or `deleteTeamDiscussion` mutations to change them. The current changelog documents these fields as removed on 2026-01-08, so check the schema available to your target before using them.

mutation { createTeamDiscussion(input: { teamId: "<team-node-id>", title: "<title>", body: "<markdown-body>", private: false }) { teamDiscussion { id number title body } } }
mutation { updateTeamDiscussion(input: { id: "<discussion-node-id>", title: "<title>", body: "<markdown-body>", pinned: false }) { teamDiscussion { id number title body isPinned } } }
query { team(slug: "<org>/<team>") { discussion(number: <number>) { id number title body } discussions(first: 10, isPinned: false) { nodes { id number title body } pageInfo { hasNextPage endCursor } } } }

WHY THIS HELPS

Create, update, delete, or query team discussions through the GitHub GraphQL API.

REQUIREMENTS AND LIMITATIONS

  • CreateTeamDiscussionInput.teamId (required): Team node ID.
  • CreateTeamDiscussionInput.title (required): Discussion title.
  • CreateTeamDiscussionInput.body: Discussion body.
  • CreateTeamDiscussionInput.private: Whether the discussion is private.
  • CreateTeamDiscussionInput.clientMutationId: Client identifier for the mutation.
  • UpdateTeamDiscussionInput.id (required): Discussion node ID.
  • UpdateTeamDiscussionInput.title: Discussion title.
  • UpdateTeamDiscussionInput.body: Discussion body.
  • UpdateTeamDiscussionInput.bodyVersion: Body version value.
  • UpdateTeamDiscussionInput.pinned: Whether the discussion is pinned.
  • UpdateTeamDiscussionInput.clientMutationId: Client identifier for the mutation.
  • DeleteTeamDiscussionInput.id (required): Discussion node ID to delete.
  • DeleteTeamDiscussionInput.clientMutationId: Client identifier for the mutation.
  • Team.discussion.number (required): Sequence number of the discussion to fetch.
  • Team.discussions.after: Cursor after which to return connection items.
  • Team.discussions.before: Cursor before which to return connection items.
  • Team.discussions.first: Return the first n connection items.
  • Team.discussions.last: Return the last n connection items.
  • Team.discussions.isPinned: Filter discussions by pinned status.
  • Team.discussions.orderBy: Order the discussion connection.
  • Prerequisite: GraphQL API requests require authentication; the discussions guide documents `repo` scope for private repositories and `public_repo` scope for public repositories.
  • Docs conflict: GitHub's GraphQL changelog lists the team-discussion types, mutations, and Team fields as removed on 2026-01-08, two days after the card's stated change date. Confirm the target schema before acting; the current documentation does not support treating these as continuously available.
  • Docs conflict: The available Team Discussions reference is for GitHub Enterprise Server 3.20; its schema may differ from GitHub.com.

FIRST-PARTY EVIDENCE

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

Report a problem with this card