From 559e7e344ee5fa2b7a6b9bed679cc1162c983b92 Mon Sep 17 00:00:00 2001 From: Oleg Krivtsov <olegkrivtsov@gmail.com> Date: Wed, 24 Nov 2021 17:08:09 +0700 Subject: [PATCH] feat(platform/gitlab): modify getJsonFile to use branchOrTag on GitLab (#12821) Co-authored-by: Michael Kriese <michael.kriese@visualon.de> --- lib/platform/gitlab/__snapshots__/index.spec.ts.snap | 6 +++--- lib/platform/gitlab/index.spec.ts | 4 ++-- lib/platform/gitlab/index.ts | 4 +++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/platform/gitlab/__snapshots__/index.spec.ts.snap b/lib/platform/gitlab/__snapshots__/index.spec.ts.snap index 9a4910787a..dc2c6e6154 100644 --- a/lib/platform/gitlab/__snapshots__/index.spec.ts.snap +++ b/lib/platform/gitlab/__snapshots__/index.spec.ts.snap @@ -2272,7 +2272,7 @@ Array [ ] `; -exports[`platform/gitlab/index getJsonFile() ingores branchOrTag 1`] = ` +exports[`platform/gitlab/index getJsonFile() returns file content 1`] = ` Array [ Object { "headers": Object { @@ -2299,7 +2299,7 @@ Array [ ] `; -exports[`platform/gitlab/index getJsonFile() returns file content 1`] = ` +exports[`platform/gitlab/index getJsonFile() returns file content from branch or tag 1`] = ` Array [ Object { "headers": Object { @@ -2321,7 +2321,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/some%2Frepo/repository/files/dir%2Ffile.json?ref=HEAD", + "url": "https://gitlab.com/api/v4/projects/some%2Frepo/repository/files/dir%2Ffile.json?ref=dev", }, ] `; diff --git a/lib/platform/gitlab/index.spec.ts b/lib/platform/gitlab/index.spec.ts index e4f42a6791..e64f45b7d8 100644 --- a/lib/platform/gitlab/index.spec.ts +++ b/lib/platform/gitlab/index.spec.ts @@ -2020,12 +2020,12 @@ These updates have all been created already. Click a checkbox below to force a r expect(httpMock.getTrace()).toMatchSnapshot(); }); - it('ingores branchOrTag', async () => { + it('returns file content from branch or tag', async () => { const data = { foo: 'bar' }; const scope = await initRepo(); scope .get( - '/api/v4/projects/some%2Frepo/repository/files/dir%2Ffile.json?ref=HEAD' + '/api/v4/projects/some%2Frepo/repository/files/dir%2Ffile.json?ref=dev' ) .reply(200, { content: Buffer.from(JSON.stringify(data)).toString('base64'), diff --git a/lib/platform/gitlab/index.ts b/lib/platform/gitlab/index.ts index 059c3b54de..64e1e1caa4 100644 --- a/lib/platform/gitlab/index.ts +++ b/lib/platform/gitlab/index.ts @@ -162,7 +162,9 @@ export async function getRawFile( ): Promise<string | null> { const escapedFileName = urlEscape(fileName); const repo = repoName ?? config.repository; - const url = `projects/${repo}/repository/files/${escapedFileName}?ref=HEAD`; + const url = + `projects/${repo}/repository/files/${escapedFileName}?ref=` + + (branchOrTag || `HEAD`); const res = await gitlabApi.getJson<{ content: string }>(url); const buf = res.body.content; const str = Buffer.from(buf, 'base64').toString(); -- GitLab