From 48667b4d3a890de949c35cc9dc3ad8db5c69ba42 Mon Sep 17 00:00:00 2001 From: Kamil Markow Date: Fri, 17 Nov 2023 12:36:47 -0500 Subject: [PATCH] Fix creating secrets in github:environment:create action Signed-off-by: Kamil Markow --- .changeset/quick-horses-reply.md | 5 +++++ .../builtin/github/githubEnvironment.examples.test.ts | 8 ++++---- .../actions/builtin/github/githubEnvironment.test.ts | 4 ++-- .../actions/builtin/github/githubEnvironment.ts | 6 +++--- 4 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 .changeset/quick-horses-reply.md diff --git a/.changeset/quick-horses-reply.md b/.changeset/quick-horses-reply.md new file mode 100644 index 0000000000..3469ef1d89 --- /dev/null +++ b/.changeset/quick-horses-reply.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Fix creating env secret in github:environment:create action diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.examples.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.examples.test.ts index 5e3da2fcec..f69dd0ddea 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.examples.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.examples.test.ts @@ -25,7 +25,7 @@ import { examples } from './gitHubEnvironment.examples'; const mockOctokit = { rest: { actions: { - getRepoPublicKey: jest.fn(), + getEnvironmentPublicKey: jest.fn(), createEnvironmentVariable: jest.fn(), createOrUpdateEnvironmentSecret: jest.fn(), }, @@ -68,7 +68,7 @@ describe('github:environment:create examples', () => { }; beforeEach(() => { - mockOctokit.rest.actions.getRepoPublicKey.mockResolvedValue({ + mockOctokit.rest.actions.getEnvironmentPublicKey.mockResolvedValue({ data: { key: publicKey, key_id: 'keyid', @@ -109,7 +109,7 @@ describe('github:environment:create examples', () => { expect( mockOctokit.rest.actions.createEnvironmentVariable, ).not.toHaveBeenCalled(); - expect(mockOctokit.rest.actions.getRepoPublicKey).not.toHaveBeenCalled(); + expect(mockOctokit.rest.actions.getEnvironmentPublicKey).not.toHaveBeenCalled(); expect( mockOctokit.rest.actions.createOrUpdateEnvironmentSecret, ).not.toHaveBeenCalled(); @@ -141,7 +141,7 @@ describe('github:environment:create examples', () => { expect( mockOctokit.rest.actions.createEnvironmentVariable, ).not.toHaveBeenCalled(); - expect(mockOctokit.rest.actions.getRepoPublicKey).not.toHaveBeenCalled(); + expect(mockOctokit.rest.actions.getEnvironmentPublicKey).not.toHaveBeenCalled(); expect( mockOctokit.rest.actions.createOrUpdateEnvironmentSecret, ).not.toHaveBeenCalled(); diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.test.ts index d158bc122e..8ec3d84e36 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.test.ts @@ -24,7 +24,7 @@ import { ScmIntegrations } from '@backstage/integration'; const mockOctokit = { rest: { actions: { - getRepoPublicKey: jest.fn(), + getEnvironmentPublicKey: jest.fn(), createEnvironmentVariable: jest.fn(), createOrUpdateEnvironmentSecret: jest.fn(), }, @@ -71,7 +71,7 @@ describe('github:environment:create', () => { }; beforeEach(() => { - mockOctokit.rest.actions.getRepoPublicKey.mockResolvedValue({ + mockOctokit.rest.actions.getEnvironmentPublicKey.mockResolvedValue({ data: { key: publicKey, key_id: 'keyid', diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.ts index 874798e4df..b7e3b70312 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubEnvironment.ts @@ -167,9 +167,9 @@ export function createGithubEnvironmentAction(options: { } if (secrets) { - const publicKeyResponse = await client.rest.actions.getRepoPublicKey({ - owner: owner, - repo: repo, + const publicKeyResponse = await client.rest.actions.getEnvironmentPublicKey({ + repository_id: repository.data.id, + environment_name: name, }); await Sodium.ready;