Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 2x 2x 1x 1x | import { TargetModule, KeyInfo, getEnv } from '@refreshly/core';
import { editSafe } from './gitlab/group-variables';
export class GitLabTargetModule extends TargetModule {
private options: Omit<GitLabTargetModule.Options, keyof TargetModule.Options>;
constructor({ prefix, ...options }: GitLabTargetModule.Options) {
super({ prefix });
this.options = options;
}
get name(): string {
return 'gitlab';
}
async target(keyInfos: KeyInfo[]): Promise<void> {
await editSafe({
/**
* I absolutely hate this, it's a hack purely to get Gitlab.Source to work in conjunction with Gitlab.Target :<
* See the source module for more information.
*/
token: getEnv('token', this.options.token, 'GITLAB_TOKEN', 'GL_TOKEN'),
ids: this.options.ids,
keyInfos,
});
}
}
export namespace GitLabTargetModule {
export type Options = {
/**
* Your GitLab Personal Access Token!
*
* (env: GITHUB_TOKEN or GH_TOKEN)
*/
token?: string;
/**
* The Group / Project IDs
*/
ids: string[];
} & TargetModule.Options;
}
|