From e6c8d079c9934a76f0d42df3077d8127d4b819f8 Mon Sep 17 00:00:00 2001 From: chris48s <chris48s@users.noreply.github.com> Date: Tue, 9 Jul 2024 15:11:14 +0100 Subject: [PATCH] include gituhb contributors badge in docs site (#10337) --- core/base-service/openapi.js | 2 +- services/github/github-contributors.service.js | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/core/base-service/openapi.js b/core/base-service/openapi.js index d6f6c7b5e7..3d2e6082ee 100644 --- a/core/base-service/openapi.js +++ b/core/base-service/openapi.js @@ -84,7 +84,7 @@ function services2openapi(services, sort) { for (const [key, value] of Object.entries( addGlobalProperties(service.openApi), )) { - if (key in paths && key !== '/github/{variant}/{user}/{repo}') { + if (key in paths) { throw new Error(`Conflicting route: ${key}`) } paths[key] = value diff --git a/services/github/github-contributors.service.js b/services/github/github-contributors.service.js index 23d07dfe48..c0f62bfa07 100644 --- a/services/github/github-contributors.service.js +++ b/services/github/github-contributors.service.js @@ -12,19 +12,23 @@ export default class GithubContributors extends GithubAuthV3Service { static category = 'activity' static route = { base: 'github', - pattern: ':variant(contributors|contributors-anon)/:user/:repo', + // note we call this param 'metric' instead of 'variant' because of + // https://github.com/badges/shields/issues/10323 + pattern: ':metric(contributors|contributors-anon)/:user/:repo', } static openApi = { - '/github/{variant}/{user}/{repo}': { + '/github/{metric}/{user}/{repo}': { get: { summary: 'GitHub contributors', description: documentation, parameters: pathParams( { - name: 'variant', + name: 'metric', example: 'contributors', - schema: { type: 'string', enum: this.getEnum('variant') }, + schema: { type: 'string', enum: this.getEnum('metric') }, + description: + '`contributors-anon` includes anonymous commits, whereas `contributors` excludes them.', }, { name: 'user', @@ -45,8 +49,8 @@ export default class GithubContributors extends GithubAuthV3Service { return renderContributorBadge({ contributorCount }) } - async handle({ variant, user, repo }) { - const isAnon = variant === 'contributors-anon' + async handle({ metric, user, repo }) { + const isAnon = metric === 'contributors-anon' const { res, buffer } = await this._request({ url: `/repos/${user}/${repo}/contributors`, -- GitLab