pages/api/gh-issue-counts.js (67 lines of code) (raw):
import gql from 'graphql-tag';
import createClient from 'lib/ghapi';
const query = gql`
fragment issueCounts on Repository {
description
total_issues: issues(states: OPEN) {
totalCount
}
triaged: issues(
states: OPEN
labels: [
"priority:p1"
"priority:p2"
"priority:p3"
"priority:p4"
"priority:p5"
]
) {
totalCount
}
open_prod_bugs: issues(states: OPEN, labels: "type:prod_bug") {
totalCount
}
open_p1s: issues(states: OPEN, labels: "priority:p1") {
totalCount
}
open_p2s: issues(states: OPEN, labels: "priority:p2") {
totalCount
}
open_p3s: issues(states: OPEN, labels: "priority:p3") {
totalCount
}
open_prs: pullRequests(states: OPEN) {
totalCount
}
}
{
addons: repository(name: "addons", owner: "mozilla") {
...issueCounts
}
addons_server: repository(name: "addons-server", owner: "mozilla") {
...issueCounts
}
addons_frontend: repository(name: "addons-frontend", owner: "mozilla") {
...issueCounts
}
addons_blog: repository(name: "addons-blog", owner: "mozilla") {
...issueCounts
}
addons_linter: repository(name: "addons-linter", owner: "mozilla") {
...issueCounts
}
addons_code_manager: repository(
name: "addons-code-manager"
owner: "mozilla"
) {
...issueCounts
}
}
`;
export default async (req, res) => {
const client = createClient();
const data = await client.query({
query,
});
res.json(data);
};