Merge pull request #13691 from jakecrews74/add-defaults-conig-option-gitlab-ci-stats

[CICD Statistics Module Gitlab] Add the ability to pass custom defaults to createGitlabApi constructor
This commit is contained in:
Johan Haals
2022-09-19 16:32:47 +02:00
committed by GitHub
4 changed files with 16 additions and 2 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-cicd-statistics-module-gitlab': patch
---
add the ability to add CICD default options to createGitlabApi constructor
@@ -7,6 +7,7 @@ This is an extension module to the `cicd-statistics` plugin, providing a `CicdSt
1. Install the `cicd-statistics` and `cicd-statistics-module-gitlab` plugins in the `app` package.
2. Configure your ApiFactory:
- You can optionally pass in a second argument to `CicdStatisticsApiGitlab` of type [CicdDefaults](https://github.com/backstage/backstage/blob/2881c53cb383bf127c150f837f37fe535d8cf97b/plugins/cicd-statistics/src/apis/types.ts#L179) to alter the default CICD UI configuration
```tsx
// packages/app/src/apis.ts
@@ -4,6 +4,7 @@
```ts
import { CicdConfiguration } from '@backstage/plugin-cicd-statistics';
import { CicdDefaults } from '@backstage/plugin-cicd-statistics';
import { CicdState } from '@backstage/plugin-cicd-statistics';
import { CicdStatisticsApi } from '@backstage/plugin-cicd-statistics';
import { Entity } from '@backstage/catalog-model';
@@ -13,7 +14,7 @@ import { OAuthApi } from '@backstage/core-plugin-api';
// @public
export class CicdStatisticsApiGitlab implements CicdStatisticsApi {
constructor(gitLabAuthApi: OAuthApi);
constructor(gitLabAuthApi: OAuthApi, cicdDefaults?: Partial<CicdDefaults>);
// (undocumented)
createGitlabApi(entity: Entity, scopes: string[]): Promise<GitlabClient>;
// (undocumented)
@@ -18,6 +18,7 @@ import {
CicdStatisticsApi,
CicdState,
CicdConfiguration,
CicdDefaults,
Build,
FetchBuildsOptions,
Stage,
@@ -47,9 +48,14 @@ export type GitlabClient = {
*/
export class CicdStatisticsApiGitlab implements CicdStatisticsApi {
readonly #gitLabAuthApi: OAuthApi;
readonly #cicdDefaults: Partial<CicdDefaults>;
constructor(gitLabAuthApi: OAuthApi) {
constructor(
gitLabAuthApi: OAuthApi,
cicdDefaults: Partial<CicdDefaults> = {},
) {
this.#gitLabAuthApi = gitLabAuthApi;
this.#cicdDefaults = cicdDefaults;
}
public async createGitlabApi(
@@ -154,6 +160,7 @@ export class CicdStatisticsApiGitlab implements CicdStatisticsApi {
'expired',
'unknown',
] as const,
defaults: this.#cicdDefaults,
};
}
}