//native
/**
* Get Reviewers
* Get a pull request's pending review requests (users and teams) and the reviews already submitted.
*/
export async function main(
auth: RT.Github,
owner: string,
repo: string,
pull_number: number
) {
const base = `https://api.github.com/repos/${owner}/${repo}/pulls/${pull_number}`
const get = async (path: string) => {
const response = await fetch(`${base}/${path}`, {
headers: {
Authorization: `Bearer ${auth.token}`,
Accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
},
})
if (!response.ok) {
throw new Error(`${response.status} ${await response.text()}`)
}
return await response.json()
}
// ponytail: first 100 reviews only; page reviews if a PR ever has more
const [requested, reviews] = await Promise.all([
get("requested_reviewers"),
get("reviews?per_page=100"),
])
return { requested, reviews }
}
Submitted by hugo989 2 hours ago