From 71f8708f0039fbd0cf60ada77d3a890637195791 Mon Sep 17 00:00:00 2001 From: Mike Lewis Date: Mon, 7 Mar 2022 17:58:09 +0000 Subject: [PATCH] jenkins: make resourceRef required in JenkinsApi#buildProject This method is only called in one place outside tests, and the resourceRef is guaranteed to be set there, so we can tighten this typing up a bit to make the value mandatory. This class is not exported by the package, so this can be shipped as a patch change. Signed-off-by: Mike Lewis --- .changeset/yellow-hats-remember.md | 5 +++++ plugins/jenkins-backend/src/service/jenkinsApi.test.ts | 9 +++++---- plugins/jenkins-backend/src/service/jenkinsApi.ts | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 .changeset/yellow-hats-remember.md diff --git a/.changeset/yellow-hats-remember.md b/.changeset/yellow-hats-remember.md new file mode 100644 index 0000000000..a50f1851eb --- /dev/null +++ b/.changeset/yellow-hats-remember.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-jenkins-backend': patch +--- + +Make resourceRef required in JenkinsApi to match usage. diff --git a/plugins/jenkins-backend/src/service/jenkinsApi.test.ts b/plugins/jenkins-backend/src/service/jenkinsApi.test.ts index d1625cb65e..bc7d2cb029 100644 --- a/plugins/jenkins-backend/src/service/jenkinsApi.test.ts +++ b/plugins/jenkins-backend/src/service/jenkinsApi.test.ts @@ -34,6 +34,7 @@ const mockedJenkinsClient = { const mockedJenkins = jenkins as jest.Mocked; mockedJenkins.mockReturnValue(mockedJenkinsClient); +const resourceRef = 'component:default/example-component'; const jobFullName = 'example-jobName/foo'; const buildNumber = 19; const jenkinsInfo: JenkinsInfo = { @@ -413,7 +414,7 @@ describe('JenkinsApi', () => { ); }); it('buildProject', async () => { - await jenkinsApi.buildProject(jenkinsInfo, jobFullName); + await jenkinsApi.buildProject(jenkinsInfo, jobFullName, resourceRef); expect(mockedJenkins).toHaveBeenCalledWith({ baseUrl: jenkinsInfo.baseUrl, @@ -431,7 +432,7 @@ describe('JenkinsApi', () => { ]); await expect(() => - jenkinsApi.buildProject(jenkinsInfo, jobFullName), + jenkinsApi.buildProject(jenkinsInfo, jobFullName, resourceRef), ).rejects.toThrow(NotAllowedError); }); @@ -442,7 +443,7 @@ describe('JenkinsApi', () => { }, ]); - await jenkinsApi.buildProject(jenkinsInfo, jobFullName); + await jenkinsApi.buildProject(jenkinsInfo, jobFullName, resourceRef); expect(mockedJenkins).toHaveBeenCalledWith({ baseUrl: jenkinsInfo.baseUrl, headers: jenkinsInfo.headers, @@ -453,7 +454,7 @@ describe('JenkinsApi', () => { it('buildProject with crumbIssuer option', async () => { const info: JenkinsInfo = { ...jenkinsInfo, crumbIssuer: true }; - await jenkinsApi.buildProject(info, jobFullName); + await jenkinsApi.buildProject(info, jobFullName, resourceRef); expect(mockedJenkins).toHaveBeenCalledWith({ baseUrl: jenkinsInfo.baseUrl, diff --git a/plugins/jenkins-backend/src/service/jenkinsApi.ts b/plugins/jenkins-backend/src/service/jenkinsApi.ts index da16bbc553..ddc2bb0ea3 100644 --- a/plugins/jenkins-backend/src/service/jenkinsApi.ts +++ b/plugins/jenkins-backend/src/service/jenkinsApi.ts @@ -139,7 +139,7 @@ export class JenkinsApiImpl { async buildProject( jenkinsInfo: JenkinsInfo, jobFullName: string, - resourceRef?: string, + resourceRef: string, options?: { token?: string }, ) { const client = await JenkinsApiImpl.getClient(jenkinsInfo);