From d1debd0e995947f510f4a1b2b56142d9520743b8 Mon Sep 17 00:00:00 2001 From: Dominik Pfaffenbauer Date: Wed, 8 Mar 2023 11:23:31 +0100 Subject: [PATCH] fix schema definition for projectid and deploy token parsing Signed-off-by: Dominik Pfaffenbauer --- .../src/actions/createProjectAccessToken.ts | 2 +- .../src/actions/createProjectDeployToken.ts | 10 ++++++---- .../src/actions/createProjectVariable.ts | 4 ++++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectAccessToken.ts b/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectAccessToken.ts index b152e82473..b4f7ee4f70 100644 --- a/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectAccessToken.ts +++ b/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectAccessToken.ts @@ -48,7 +48,7 @@ export const createGitlabProjectAccessToken = (options: { }, projectId: { title: 'Project ID', - type: 'string | number', + type: ['string', 'number'], }, name: { title: 'Deploy Token Name', diff --git a/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectDeployToken.ts b/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectDeployToken.ts index 53248a36a3..08d789c68c 100644 --- a/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectDeployToken.ts +++ b/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectDeployToken.ts @@ -19,6 +19,7 @@ import { Gitlab } from '@gitbeaker/node'; import { ScmIntegrationRegistry } from '@backstage/integration'; import { DeployTokenScope } from '@gitbeaker/core/dist/types/templates/ResourceDeployTokens'; import { getToken } from '../util'; +import { InputError } from '@backstage/errors'; /** * Creates a `gitlab:create-project-deploy-token` Scaffolder action. @@ -50,7 +51,7 @@ export const createGitlabProjectDeployToken = (options: { }, projectId: { title: 'Project ID', - type: 'string | number', + type: ['string', 'number'], }, name: { title: 'Deploy Token Name', @@ -108,10 +109,11 @@ export const createGitlabProjectDeployToken = (options: { }, ); - const string = JSON.stringify(deployToken); - const result = JSON.parse(string); + if (!deployToken.hasOwnProperty('token')) { + throw new InputError(`No deploy_token given from gitlab instance`); + } - ctx.output('deploy_token', result.token); + ctx.output('deploy_token', deployToken.token as string); ctx.output('user', deployToken.username); }, }); diff --git a/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectVariable.ts b/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectVariable.ts index bcfcec4c77..2587f4f740 100644 --- a/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectVariable.ts +++ b/plugins/scaffolder-backend-module-gitlab/src/actions/createProjectVariable.ts @@ -61,6 +61,10 @@ export const createGitlabProjectVariable = (options: { title: 'Repository Location', type: 'string', }, + projectId: { + title: 'Project ID', + type: ['string', 'number'], + }, key: { title: 'The key of a variable; must have no more than 255 characters; only A-Z, a-z, 0-9, and _ are allowed',