Skip to content

v1.3.0 — GraphQL batch queries, REST rate-limit reduction

Latest

Choose a tag to compare

@steiner385 steiner385 released this 06 May 21:06
· 17 commits to main since this release

What's new

Performance: GraphQL batch queries replace N+1 REST calls

Every list_backlog and select_next_issue call previously made N+1 GitHub REST API requests — one GET /issues page fetch plus one GET /issues/{n}/sub_issues per issue. On repos with 500+ open issues this burned hundreds of rate-limit tokens per call, exhausting the 5000 req/hr budget and blocking Jenkins from posting commit statuses.

Changes:

  • listOpenIssuesWithParents — single paginated GraphQL query returns issues and parent relationships in one round-trip per page (replaces listOpenIssues + N×getIssueParent)
  • getPrStatus — single GraphQL query replaces 3 serial REST calls (PR + check-runs + reviews)
  • ensureLabelsExist — single GraphQL labels query replaces 12 serial GET /labels/{name} checks

All three changes use a graceful fallback: GraphQL → REST if the GraphQL query fails.

New file

  • src/services/github-graphql.ts — centralised GraphQL query constants and response types

Upgrading

npm install -g mcp-git-issue-priority@1.3.0