diff --git a/plugins/scaffolder-backend-module-bitbucket-cloud/src/actions/bitbucketCloudPipelinesRun.test.ts b/plugins/scaffolder-backend-module-bitbucket-cloud/src/actions/bitbucketCloudPipelinesRun.test.ts index edabe2a7ba..f910e35743 100644 --- a/plugins/scaffolder-backend-module-bitbucket-cloud/src/actions/bitbucketCloudPipelinesRun.test.ts +++ b/plugins/scaffolder-backend-module-bitbucket-cloud/src/actions/bitbucketCloudPipelinesRun.test.ts @@ -21,6 +21,7 @@ import { createBitbucketPipelinesRunAction } from './bitbucketCloudPipelinesRun' import { ConfigReader } from '@backstage/config'; import { ScmIntegrations } from '@backstage/integration'; import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils'; +import { TemplateAction } from '@backstage/plugin-scaffolder-node'; describe('bitbucket:pipelines:run', () => { const config = new ConfigReader({ @@ -65,9 +66,11 @@ describe('bitbucket:pipelines:run', () => { const actionNoCreds = createBitbucketPipelinesRunAction({ integrations: integrationsNoCreds, }); + const testContext = Object.assign({}, mockContext, { input: { workspace, repo_slug }, }); + await expect(actionNoCreds.handler(testContext)).rejects.toThrow( /Authorization has not been provided for Bitbucket Cloud/, ); diff --git a/plugins/scaffolder-backend-module-bitbucket-cloud/src/actions/bitbucketCloudPipelinesRun.ts b/plugins/scaffolder-backend-module-bitbucket-cloud/src/actions/bitbucketCloudPipelinesRun.ts index 8525774692..11064f4743 100644 --- a/plugins/scaffolder-backend-module-bitbucket-cloud/src/actions/bitbucketCloudPipelinesRun.ts +++ b/plugins/scaffolder-backend-module-bitbucket-cloud/src/actions/bitbucketCloudPipelinesRun.ts @@ -30,12 +30,19 @@ export const createBitbucketPipelinesRunAction = (options: { integrations: ScmIntegrationRegistry; }) => { const { integrations } = options; - return createTemplateAction<{ - workspace: string; - repo_slug: string; - body?: object; - token?: string; - }>({ + return createTemplateAction< + { + workspace: string; + repo_slug: string; + body?: object; + token?: string; + }, + { + buildNumber: number; + repoUrl: string; + pipelinesUrl: string; + } + >({ id, description: 'Run a bitbucket cloud pipeline', examples, @@ -58,7 +65,7 @@ export const createBitbucketPipelinesRunAction = (options: { type: 'number', }, repoUrl: { - title: 'A URL to the pipeline repositry', + title: 'A URL to the pipeline repository', type: 'string', }, repoContentsUrl: { diff --git a/plugins/scaffolder-node/src/actions/createTemplateAction.ts b/plugins/scaffolder-node/src/actions/createTemplateAction.ts index 6f91f8a823..2abe696cb0 100644 --- a/plugins/scaffolder-node/src/actions/createTemplateAction.ts +++ b/plugins/scaffolder-node/src/actions/createTemplateAction.ts @@ -64,26 +64,6 @@ type FlattenOptionalProperties = Expand< } >; -/** - * @public - * @deprecated migrate to using the new built in zod schema definitions for schemas - */ -export function createTemplateAction< - TInputParams extends JsonObject = JsonObject, - TOutputParams extends JsonObject = JsonObject, - TInputSchema extends JSONSchema7 = JSONSchema7, - TOutputSchema extends JSONSchema7 = JSONSchema7, - TActionInput extends JsonObject = TInputParams, - TActionOutput extends JsonObject = TOutputParams, ->( - action: TemplateActionOptions< - TActionInput, - TActionOutput, - TInputSchema, - TOutputSchema, - 'v1' - >, -): TemplateAction; /** * @public * @deprecated migrate to using the new built in zod schema definitions for schemas @@ -133,17 +113,37 @@ export function createTemplateAction< }>, 'v2' >; +/** + * @public + * @deprecated migrate to using the new built in zod schema definitions for schemas + */ +export function createTemplateAction< + TInputParams extends JsonObject = JsonObject, + TOutputParams extends JsonObject = JsonObject, + TInputSchema extends JSONSchema7 = JSONSchema7, + TOutputSchema extends JSONSchema7 = JSONSchema7, + TActionInput extends JsonObject = TInputParams, + TActionOutput extends JsonObject = TOutputParams, +>( + action: TemplateActionOptions< + TActionInput, + TActionOutput, + TInputSchema, + TOutputSchema, + 'v1' + >, +): TemplateAction; export function createTemplateAction< TInputParams extends JsonObject = JsonObject, TOutputParams extends JsonObject = JsonObject, TInputSchema extends | JSONSchema7 | z.ZodType - | { [key in string]: (zImpl: typeof z) => z.ZodType } = {}, + | { [key in string]: (zImpl: typeof z) => z.ZodType } = JSONSchema7, TOutputSchema extends | JSONSchema7 | z.ZodType - | { [key in string]: (zImpl: typeof z) => z.ZodType } = {}, + | { [key in string]: (zImpl: typeof z) => z.ZodType } = JSONSchema7, TActionInput extends JsonObject = TInputSchema extends z.ZodType< any, any,