diff --git a/source/app/mocks/api/github/graphql/base.repositories.mjs b/source/app/mocks/api/github/graphql/base.repositories.mjs index 73de521a..bddab232 100644 --- a/source/app/mocks/api/github/graphql/base.repositories.mjs +++ b/source/app/mocks/api/github/graphql/base.repositories.mjs @@ -49,6 +49,8 @@ export default function({faker, query, login = faker.internet.userName()}) { releases:{totalCount:faker.datatype.number(100)}, forkCount:faker.datatype.number(100), licenseInfo:{spdxId:"MIT"}, + deployments:{totalCount:faker.datatype.number(100)}, + environments:{totalCount:faker.datatype.number(100)}, }, ], }, diff --git a/source/app/mocks/api/github/graphql/base.repository.mjs b/source/app/mocks/api/github/graphql/base.repository.mjs index f5a3c776..c700a7f8 100644 --- a/source/app/mocks/api/github/graphql/base.repository.mjs +++ b/source/app/mocks/api/github/graphql/base.repository.mjs @@ -30,6 +30,8 @@ export default function({faker, query, login = faker.internet.userName()}) { releases:{totalCount:faker.datatype.number(100)}, forkCount:faker.datatype.number(100), licenseInfo:{spdxId:"MIT"}, + deployments:{totalCount:faker.datatype.number(100)}, + environments:{totalCount:faker.datatype.number(100)}, }, }, }) diff --git a/source/plugins/base/queries/repositories.graphql b/source/plugins/base/queries/repositories.graphql index a8e471c0..443260f0 100644 --- a/source/plugins/base/queries/repositories.graphql +++ b/source/plugins/base/queries/repositories.graphql @@ -48,6 +48,12 @@ query BaseRepositories { name spdxId } + deployments { + totalCount + } + environments { + totalCount + } } } } diff --git a/source/plugins/base/queries/repository.graphql b/source/plugins/base/queries/repository.graphql index f4f4c94a..9cbf0bd3 100644 --- a/source/plugins/base/queries/repository.graphql +++ b/source/plugins/base/queries/repository.graphql @@ -47,6 +47,12 @@ query BaseRepository { name spdxId } + deployments { + totalCount + } + environments { + totalCount + } } } } \ No newline at end of file diff --git a/source/plugins/core/index.mjs b/source/plugins/core/index.mjs index df77386a..18c82a8a 100644 --- a/source/plugins/core/index.mjs +++ b/source/plugins/core/index.mjs @@ -10,7 +10,7 @@ export default async function({login, q}, {conf, data, rest, graphql, plugins, q imports.metadata.templates[template].check({q, account, format:convert}) //Init - const computed = {commits:0, sponsorships:0, licenses:{favorite:"", used:{}, about:{}}, token:{}, repositories:{watchers:0, stargazers:0, issues_open:0, issues_closed:0, pr_open:0, pr_closed:0, pr_merged:0, forks:0, forked:0, releases:0}} + const computed = {commits:0, sponsorships:0, licenses:{favorite:"", used:{}, about:{}}, token:{}, repositories:{watchers:0, stargazers:0, issues_open:0, issues_closed:0, pr_open:0, pr_closed:0, pr_merged:0, forks:0, forked:0, releases:0, deployments:0, environments:0}} const avatar = imports.imgb64(data.user.avatarUrl) data.computed = computed console.debug(`metrics/compute/${login} > formatting common metrics`) @@ -65,8 +65,8 @@ export default async function({login, q}, {conf, data, rest, graphql, plugins, q //Iterate through user's repositories for (const repository of data.user.repositories.nodes) { //Simple properties with totalCount - for (const property of ["watchers", "stargazers", "issues_open", "issues_closed", "pr_open", "pr_closed", "pr_merged", "releases"]) - computed.repositories[property] += repository[property].totalCount + for (const property of ["watchers", "stargazers", "issues_open", "issues_closed", "pr_open", "pr_closed", "pr_merged", "releases", "deployments", "environments"]) + computed.repositories[property] += repository[property]?.totalCount ?? 0 //Forks computed.repositories.forks += repository.forkCount if (repository.isFork) diff --git a/source/templates/repository/partials/base.header.ejs b/source/templates/repository/partials/base.header.ejs index 97a7a5b6..7bd4c238 100644 --- a/source/templates/repository/partials/base.header.ejs +++ b/source/templates/repository/partials/base.header.ejs @@ -15,6 +15,10 @@ Created <%= computed.registration %> <% } %> +