@backstage-community/plugin-cicd-statistics-module-buildkite 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +2 -2
- package/dist/api/buildkite.esm.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @backstage-community/plugin-cicd-statistics-module-buildkite
|
|
2
2
|
|
|
3
|
+
## 0.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- a624400: Backstage version bump to v1.32.0
|
|
8
|
+
- Updated dependencies [a624400]
|
|
9
|
+
- @backstage-community/plugin-cicd-statistics@0.1.41
|
|
10
|
+
|
|
11
|
+
## 0.0.3
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- 14419ca: Correct README typos surrounding plugin setup and configuration.
|
|
16
|
+
|
|
3
17
|
## 0.0.2
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ export const apis: AnyApiFactory[] = [
|
|
|
28
28
|
fetchApiApi: fetchApiRef,
|
|
29
29
|
},
|
|
30
30
|
factory({ discoveryApi, fetchApi }) {
|
|
31
|
-
return new CicdStatisticsApiBuildkite(discoveryApi, fetchApi);
|
|
31
|
+
return new CicdStatisticsApiBuildkite({ discoveryApi, fetchApi });
|
|
32
32
|
},
|
|
33
33
|
}),
|
|
34
34
|
];
|
|
@@ -49,5 +49,5 @@ import { EntityCicdStatisticsContent } from '@backstage-community/plugin-cicd-st
|
|
|
49
49
|
|
|
50
50
|
```yaml
|
|
51
51
|
annotations:
|
|
52
|
-
buildkite.com/pipeline
|
|
52
|
+
buildkite.com/pipeline: 'org-name/some-pipeline'
|
|
53
53
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildkite.esm.js","sources":["../../src/api/buildkite.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/
|
|
1
|
+
{"version":3,"file":"buildkite.esm.js","sources":["../../src/api/buildkite.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { DiscoveryApi, FetchApi } from '@backstage/core-plugin-api';\nimport {\n CicdStatisticsApi,\n CicdState,\n CicdConfiguration,\n CicdDefaults,\n FetchBuildsOptions,\n FilterStatusType,\n} from '@backstage-community/plugin-cicd-statistics';\nimport { Entity } from '@backstage/catalog-model';\nimport { toBuilds, buildStatusMap } from './utils';\nimport { BuildkiteApi } from '@roadiehq/backstage-plugin-buildkite';\n\n/**\n * BuildkiteClient represents an initialized Buildkite client.\n *\n * @public\n */\nexport type BuildkiteClient = {\n /* the actual API */\n api: InstanceType<typeof BuildkiteApi>;\n\n /* the Buildkite organization; retrieved from the entity */\n org: string;\n\n /* the Buildkite pipeline name; retrieved from the entity */\n pipeline: string;\n};\n\n/**\n * CicdStatisticsApiBuildkiteOpts configures a new CicdStatisticsApiBuildkite.\n *\n * @public\n */\nexport type CicdStatisticsApiBuildkiteOpts = {\n /* the DiscoveryApi to use */\n discoveryApi: DiscoveryApi;\n\n /* the FetchApi to use */\n fetchApi: FetchApi;\n\n /* the CicdDefaults to use */\n cicdDefaults?: Partial<CicdDefaults>;\n\n /* the path to the Buildkite API Backstage backend proxy endpoint */\n proxyPath?: string;\n};\n\n/**\n * Extracts the CI/CD statistics from a Buildkite pipeline.\n *\n * @public\n */\nexport class CicdStatisticsApiBuildkite implements CicdStatisticsApi {\n readonly #cicdDefaults: Partial<CicdDefaults>;\n readonly #discoveryApi: DiscoveryApi;\n readonly #fetchApi: FetchApi;\n readonly #proxyPath?: string;\n\n constructor(opts: CicdStatisticsApiBuildkiteOpts) {\n this.#cicdDefaults = opts.cicdDefaults ? opts.cicdDefaults : {};\n this.#discoveryApi = opts.discoveryApi;\n this.#fetchApi = opts.fetchApi;\n this.#proxyPath = opts.proxyPath;\n }\n\n public async createBuildkiteApi(entity: Entity): Promise<BuildkiteClient> {\n const pipelineAnnotation =\n entity.metadata.annotations?.['buildkite.com/pipeline'] || '';\n const pipelineParts = pipelineAnnotation.split('/');\n const org = pipelineParts[0];\n const pipeline = pipelineParts[1] ? pipelineParts[1] : '';\n\n return {\n api: new BuildkiteApi({\n discoveryApi: this.#discoveryApi,\n fetchApi: this.#fetchApi,\n proxyPath: this.#proxyPath,\n }),\n org,\n pipeline,\n };\n }\n\n public async fetchBuilds(options: FetchBuildsOptions): Promise<CicdState> {\n const {\n entity,\n updateProgress,\n filterStatus = ['all'],\n filterType = 'all',\n } = options;\n const { api, org, pipeline } = await this.createBuildkiteApi(entity);\n updateProgress(0, 0, 0);\n\n // Note the cicd-statistics plugin regards 'master' as a generic term\n // referring to a particular default 'trunk' branch, and not necessarily\n // the literal 'master' branch name.\n const branch =\n filterType === 'master'\n ? await this.getDefaultBranch(api, org, pipeline)\n : undefined;\n const bkBuilds = await api.getBuilds(org, pipeline, 0, 25, branch);\n const builds = toBuilds(bkBuilds);\n const filteredBuilds = builds.filter(\n b => filterStatus.includes('all') || filterStatus.includes(b.status),\n );\n\n return { builds: filteredBuilds };\n }\n\n public async getConfiguration(): Promise<Partial<CicdConfiguration>> {\n return {\n availableStatuses: Object.keys(\n buildStatusMap,\n ) as ReadonlyArray<FilterStatusType>,\n defaults: this.#cicdDefaults,\n };\n }\n\n private async getDefaultBranch(\n api: BuildkiteApi,\n org: string,\n pipelineName: string,\n ): Promise<string> {\n const pipeline = await api.getPipeline(org, pipelineName);\n\n return pipeline.default_branch;\n }\n}\n"],"names":[],"mappings":";;;AAqEO,MAAM,0BAAwD,CAAA;AAAA,EAC1D,aAAA,CAAA;AAAA,EACA,aAAA,CAAA;AAAA,EACA,SAAA,CAAA;AAAA,EACA,UAAA,CAAA;AAAA,EAET,YAAY,IAAsC,EAAA;AAChD,IAAA,IAAA,CAAK,aAAgB,GAAA,IAAA,CAAK,YAAe,GAAA,IAAA,CAAK,eAAe,EAAC,CAAA;AAC9D,IAAA,IAAA,CAAK,gBAAgB,IAAK,CAAA,YAAA,CAAA;AAC1B,IAAA,IAAA,CAAK,YAAY,IAAK,CAAA,QAAA,CAAA;AACtB,IAAA,IAAA,CAAK,aAAa,IAAK,CAAA,SAAA,CAAA;AAAA,GACzB;AAAA,EAEA,MAAa,mBAAmB,MAA0C,EAAA;AACxE,IAAA,MAAM,kBACJ,GAAA,MAAA,CAAO,QAAS,CAAA,WAAA,GAAc,wBAAwB,CAAK,IAAA,EAAA,CAAA;AAC7D,IAAM,MAAA,aAAA,GAAgB,kBAAmB,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAClD,IAAM,MAAA,GAAA,GAAM,cAAc,CAAC,CAAA,CAAA;AAC3B,IAAA,MAAM,WAAW,aAAc,CAAA,CAAC,CAAI,GAAA,aAAA,CAAc,CAAC,CAAI,GAAA,EAAA,CAAA;AAEvD,IAAO,OAAA;AAAA,MACL,GAAA,EAAK,IAAI,YAAa,CAAA;AAAA,QACpB,cAAc,IAAK,CAAA,aAAA;AAAA,QACnB,UAAU,IAAK,CAAA,SAAA;AAAA,QACf,WAAW,IAAK,CAAA,UAAA;AAAA,OACjB,CAAA;AAAA,MACD,GAAA;AAAA,MACA,QAAA;AAAA,KACF,CAAA;AAAA,GACF;AAAA,EAEA,MAAa,YAAY,OAAiD,EAAA;AACxE,IAAM,MAAA;AAAA,MACJ,MAAA;AAAA,MACA,cAAA;AAAA,MACA,YAAA,GAAe,CAAC,KAAK,CAAA;AAAA,MACrB,UAAa,GAAA,KAAA;AAAA,KACX,GAAA,OAAA,CAAA;AACJ,IAAM,MAAA,EAAE,KAAK,GAAK,EAAA,QAAA,KAAa,MAAM,IAAA,CAAK,mBAAmB,MAAM,CAAA,CAAA;AACnE,IAAe,cAAA,CAAA,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAKtB,IAAM,MAAA,MAAA,GACJ,eAAe,QACX,GAAA,MAAM,KAAK,gBAAiB,CAAA,GAAA,EAAK,GAAK,EAAA,QAAQ,CAC9C,GAAA,KAAA,CAAA,CAAA;AACN,IAAM,MAAA,QAAA,GAAW,MAAM,GAAI,CAAA,SAAA,CAAU,KAAK,QAAU,EAAA,CAAA,EAAG,IAAI,MAAM,CAAA,CAAA;AACjE,IAAM,MAAA,MAAA,GAAS,SAAS,QAAQ,CAAA,CAAA;AAChC,IAAA,MAAM,iBAAiB,MAAO,CAAA,MAAA;AAAA,MAC5B,CAAA,CAAA,KAAK,aAAa,QAAS,CAAA,KAAK,KAAK,YAAa,CAAA,QAAA,CAAS,EAAE,MAAM,CAAA;AAAA,KACrE,CAAA;AAEA,IAAO,OAAA,EAAE,QAAQ,cAAe,EAAA,CAAA;AAAA,GAClC;AAAA,EAEA,MAAa,gBAAwD,GAAA;AACnE,IAAO,OAAA;AAAA,MACL,mBAAmB,MAAO,CAAA,IAAA;AAAA,QACxB,cAAA;AAAA,OACF;AAAA,MACA,UAAU,IAAK,CAAA,aAAA;AAAA,KACjB,CAAA;AAAA,GACF;AAAA,EAEA,MAAc,gBAAA,CACZ,GACA,EAAA,GAAA,EACA,YACiB,EAAA;AACjB,IAAA,MAAM,QAAW,GAAA,MAAM,GAAI,CAAA,WAAA,CAAY,KAAK,YAAY,CAAA,CAAA;AAExD,IAAA,OAAO,QAAS,CAAA,cAAA,CAAA;AAAA,GAClB;AACF;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage-community/plugin-cicd-statistics-module-buildkite",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "CI/CD Statistics plugin module; Buildkite CI/CD",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "frontend-plugin-module",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"test": "backstage-cli package test"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@backstage-community/plugin-cicd-statistics": "^0.1.
|
|
43
|
-
"@backstage/catalog-model": "^1.
|
|
44
|
-
"@backstage/core-plugin-api": "^1.
|
|
45
|
-
"@backstage/test-utils": "^1.
|
|
42
|
+
"@backstage-community/plugin-cicd-statistics": "^0.1.41",
|
|
43
|
+
"@backstage/catalog-model": "^1.7.0",
|
|
44
|
+
"@backstage/core-plugin-api": "^1.10.0",
|
|
45
|
+
"@backstage/test-utils": "^1.7.0",
|
|
46
46
|
"@gitbeaker/browser": "^35.6.0",
|
|
47
47
|
"@gitbeaker/core": "^35.6.0",
|
|
48
48
|
"@roadiehq/backstage-plugin-buildkite": "^2.3.1",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"p-limit": "^3.1.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@backstage/cli": "^0.
|
|
53
|
+
"@backstage/cli": "^0.28.0",
|
|
54
54
|
"@types/react": "^16.13.1 || ^17.0.0",
|
|
55
55
|
"@types/react-dom": "^18.2.19",
|
|
56
56
|
"react": "^16.13.1 || ^17.0.0 || ^18.0.0",
|