diff --git a/tools/gemini-cli-bot/metrics/scripts/open_issues.ts b/tools/gemini-cli-bot/metrics/scripts/open_issues.ts index 4996ec7ce4..0683e5a72b 100644 --- a/tools/gemini-cli-bot/metrics/scripts/open_issues.ts +++ b/tools/gemini-cli-bot/metrics/scripts/open_issues.ts @@ -4,16 +4,25 @@ * SPDX-License-Identifier: Apache-2.0 */ +import { GITHUB_OWNER, GITHUB_REPO } from '../types.js'; import { execSync } from 'node:child_process'; try { - const count = execSync( - 'gh issue list --state open --limit 1000 --json number --jq length', - { - encoding: 'utf-8', - }, - ).trim(); - console.log(`open_issues,${count}`); + const query = ` + query($owner: String!, $repo: String!) { + repository(owner: $owner, name: $repo) { + issues(states: OPEN) { + totalCount + } + } + } + `; + const output = execSync( + `gh api graphql -F owner=${GITHUB_OWNER} -F repo=${GITHUB_REPO} -f query='${query}'`, + { encoding: 'utf-8' }, + ); + const data = JSON.parse(output).data.repository; + console.log(`open_issues,${data.issues.totalCount}`); } catch { // Fallback if gh fails or no issues found console.log('open_issues,0'); diff --git a/tools/gemini-cli-bot/metrics/scripts/open_prs.ts b/tools/gemini-cli-bot/metrics/scripts/open_prs.ts index 35819ef0f9..666a243cd9 100644 --- a/tools/gemini-cli-bot/metrics/scripts/open_prs.ts +++ b/tools/gemini-cli-bot/metrics/scripts/open_prs.ts @@ -4,16 +4,25 @@ * SPDX-License-Identifier: Apache-2.0 */ +import { GITHUB_OWNER, GITHUB_REPO } from '../types.js'; import { execSync } from 'node:child_process'; try { - const count = execSync( - 'gh pr list --state open --limit 1000 --json number --jq length', - { - encoding: 'utf-8', - }, - ).trim(); - console.log(`open_prs,${count}`); + const query = ` + query($owner: String!, $repo: String!) { + repository(owner: $owner, name: $repo) { + pullRequests(states: OPEN) { + totalCount + } + } + } + `; + const output = execSync( + `gh api graphql -F owner=${GITHUB_OWNER} -F repo=${GITHUB_REPO} -f query='${query}'`, + { encoding: 'utf-8' }, + ); + const data = JSON.parse(output).data.repository; + console.log(`open_prs,${data.pullRequests.totalCount}`); } catch { // Fallback if gh fails or no PRs found console.log('open_prs,0');