fix(plugins/followup): fallback to owner if collaborators are not accessible (relates #859)

This commit is contained in:
lowlighter
2022-02-08 19:24:32 -05:00
parent 2164e3c79e
commit 4983bad99d
2 changed files with 3 additions and 1 deletions

View File

@@ -77,6 +77,8 @@ The `plugin_followup_indepth` option collects additional stats to differentiate
It helps knowing whether repositories are also maintained by other users and give an overall health status of repositories. It helps knowing whether repositories are also maintained by other users and give an overall health status of repositories.
> ⚠️ This mode will try to list users with push access to know who are the maintainers in order to place issues in the correct category, which requires a `repo` scope. If not available, it will consider that only the owner is a maintainer.
## Examples workflows ## Examples workflows
<!--examples--> <!--examples-->

View File

@@ -67,7 +67,7 @@ export default async function({login, data, computed, imports, q, graphql, queri
console.debug(`metrics/compute/${login}/plugins > followup > processing ${owner}/${repo}`) console.debug(`metrics/compute/${login}/plugins > followup > processing ${owner}/${repo}`)
followup.indepth.repositories[`${owner}/${repo}`] = {stats:{}} followup.indepth.repositories[`${owner}/${repo}`] = {stats:{}}
//Fetch users with push access //Fetch users with push access
let {repository:{collaborators:{nodes:collaborators}}} = await graphql(queries.followup["repository.collaborators"]({repo, owner})) let {repository:{collaborators:{nodes:collaborators}}} = await graphql(queries.followup["repository.collaborators"]({repo, owner})).catch(() => ({repository:{collaborators:{nodes:[{login:owner}]}}}))
console.debug(`metrics/compute/${login}/plugins > followup > found ${collaborators.length} collaborators`) console.debug(`metrics/compute/${login}/plugins > followup > found ${collaborators.length} collaborators`)
followup.indepth.repositories[`${owner}/${repo}`].collaborators = collaborators.map(({login}) => login) followup.indepth.repositories[`${owner}/${repo}`].collaborators = collaborators.map(({login}) => login)
//Fetch issues and pull requests created by collaborators //Fetch issues and pull requests created by collaborators