Rumah > Soal Jawab > teks badan
P粉1079910302023-09-02 16:21:43
Ia menyokong penapisan mengikut organisasi. Penggunaan:
await octokit.request("GET /search/issues", { q: `is:pr is:open org:ORGANIZATION`, });
P粉7138664252023-09-02 13:30:20
Tiada cara langsung untuk menggunakan API GitHub atau Octokit untuk mendapatkan semua PR terbuka dalam semua repositori dalam organisasi dalam satu permintaan. API Carian boleh mencari PR, tetapi tidak menyokong penapisan mengikut organisasi.
Anda boleh mendapatkan senarai semua repositori dalam organisasi anda dan dapatkan semua permintaan tarik untuk setiap repositori menggunakan senarai repositori.
Contoh:
const { Octokit } = require("@octokit/core"); const octokit = new Octokit({ auth: `your_auth_token` }); async function fetchAllRepos(org) { const repos = []; let page = 1; while (true) { const result = await octokit.request('GET /orgs/{org}/repos', { org: org, type: 'public', per_page: 100, page: page }); if (result.data.length === 0) break; repos.push(...result.data); page++; } return repos; } async function fetchAllPRs(org) { const repos = await fetchAllRepos(org); const prPromises = repos.map(repo => octokit.request('GET /repos/{owner}/{repo}/pulls', { owner: org, repo: repo.name, state: 'open' }) ); const prResults = await Promise.all(prPromises); const prs = prResults.flatMap(result => result.data); return prs; } fetchAllPRs('my-org-name') .then(prs => console.log(prs)) .catch(err => console.error(err));
Tidak pasti betapa lambatnya keadaan ini dalam kes anda. Bagaimanapun, saya harap ini membantu.