diff --git a/lib/platform/gitlab/__snapshots__/index.spec.ts.snap b/lib/platform/gitlab/__snapshots__/index.spec.ts.snap index 91bbdf4f7840f156051e95305b7808a2001b52fb..64478dadb7a950ce92ca4ac77a30069d31198888 100644 --- a/lib/platform/gitlab/__snapshots__/index.spec.ts.snap +++ b/lib/platform/gitlab/__snapshots__/index.spec.ts.snap @@ -681,7 +681,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened", + "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened", }, Object { "body": "{\\"title\\":\\"new-title\\",\\"description\\":\\"new-content\\",\\"labels\\":[]}", @@ -711,7 +711,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened", + "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened", }, Object { "body": "{\\"title\\":\\"new-title\\",\\"description\\":\\"new-content\\",\\"labels\\":[\\"Renovate\\",\\"Maintenance\\"]}", @@ -741,7 +741,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened", + "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened", }, Object { "headers": Object { @@ -768,7 +768,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened", + "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened", }, Object { "headers": Object { @@ -809,7 +809,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened", + "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened", }, Object { "headers": Object { @@ -850,7 +850,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened", + "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened", }, Object { "body": "{\\"state_event\\":\\"close\\"}", @@ -957,7 +957,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened", + "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened", }, Object { "headers": Object { @@ -984,7 +984,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened", + "url": "https://gitlab.com/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened", }, ] `; @@ -1000,7 +1000,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me", }, ] `; @@ -1016,7 +1016,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me", }, ] `; @@ -1032,7 +1032,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me", }, ] `; @@ -1048,7 +1048,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me", }, ] `; @@ -1064,7 +1064,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me", }, ] `; @@ -1080,7 +1080,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me", }, ] `; @@ -1107,7 +1107,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/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/some%2Frepo/merge_requests?per_page=100&scope=created_by_me", }, ] `; @@ -1150,7 +1150,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/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/some%2Frepo/merge_requests?per_page=100&scope=created_by_me", }, Object { "headers": Object { @@ -1216,7 +1216,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/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/some%2Frepo/merge_requests?per_page=100&scope=created_by_me", }, Object { "headers": Object { @@ -1282,7 +1282,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/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/some%2Frepo/merge_requests?per_page=100&scope=created_by_me", }, Object { "headers": Object { @@ -2465,7 +2465,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me", }, Object { "body": "{\\"title\\":\\"title\\",\\"description\\":\\"body\\",\\"state_event\\":\\"close\\"}", @@ -2517,7 +2517,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me", }, Object { "body": "{\\"title\\":\\"Draft: title\\",\\"description\\":\\"body\\"}", @@ -2569,7 +2569,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me", }, Object { "body": "{\\"title\\":\\"Draft: title\\",\\"description\\":\\"body\\"}", @@ -2621,7 +2621,7 @@ Array [ "user-agent": "RenovateBot/0.0.0-semantic-release (https://github.com/renovatebot/renovate)", }, "method": "GET", - "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100", + "url": "https://gitlab.com/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me", }, Object { "body": "{\\"title\\":\\"title\\",\\"description\\":\\"body\\"}", diff --git a/lib/platform/gitlab/index.spec.ts b/lib/platform/gitlab/index.spec.ts index 1deb9edbbf1d01995c3fd9bd50e11349e56d3178..d01c005d2c103db7033f546cf3f33670fba7fb7e 100644 --- a/lib/platform/gitlab/index.spec.ts +++ b/lib/platform/gitlab/index.spec.ts @@ -354,7 +354,9 @@ describe(getName(), () => { it('should return null if no PR exists', async () => { const scope = await initRepo(); scope - .get('/api/v4/projects/some%2Frepo/merge_requests?per_page=100') + .get( + '/api/v4/projects/some%2Frepo/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, []); const pr = await gitlab.getBranchPr('some-branch'); expect(pr).toBeNull(); @@ -363,7 +365,9 @@ describe(getName(), () => { it('should return the PR object', async () => { const scope = await initRepo(); scope - .get('/api/v4/projects/some%2Frepo/merge_requests?per_page=100') + .get( + '/api/v4/projects/some%2Frepo/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 91, @@ -400,7 +404,9 @@ describe(getName(), () => { it('should strip draft prefix from title', async () => { const scope = await initRepo(); scope - .get('/api/v4/projects/some%2Frepo/merge_requests?per_page=100') + .get( + '/api/v4/projects/some%2Frepo/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 91, @@ -437,7 +443,9 @@ describe(getName(), () => { it('should strip deprecated draft prefix from title', async () => { const scope = await initRepo(); scope - .get('/api/v4/projects/some%2Frepo/merge_requests?per_page=100') + .get( + '/api/v4/projects/some%2Frepo/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 91, @@ -677,7 +685,7 @@ describe(getName(), () => { httpMock .scope(gitlabApiHost) .get( - '/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened' + '/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened' ) .reply(200, [ { @@ -697,7 +705,7 @@ describe(getName(), () => { httpMock .scope(gitlabApiHost) .get( - '/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened' + '/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened' ) .reply(200, [ { @@ -721,7 +729,7 @@ describe(getName(), () => { httpMock .scope(gitlabApiHost) .get( - '/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened' + '/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened' ) .reply(200, [ { @@ -747,7 +755,7 @@ describe(getName(), () => { httpMock .scope(gitlabApiHost) .get( - '/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened' + '/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened' ) .reply(200, []) .post('/api/v4/projects/undefined/issues') @@ -765,7 +773,7 @@ describe(getName(), () => { httpMock .scope(gitlabApiHost) .get( - '/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened' + '/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened' ) .reply(200, [ { @@ -793,7 +801,7 @@ describe(getName(), () => { httpMock .scope(gitlabApiHost) .get( - '/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened' + '/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened' ) .reply(200, [ { @@ -822,7 +830,7 @@ describe(getName(), () => { httpMock .scope(gitlabApiHost) .get( - '/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened' + '/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened' ) .reply(200, [ { @@ -849,7 +857,7 @@ describe(getName(), () => { httpMock .scope(gitlabApiHost) .get( - '/api/v4/projects/undefined/issues?per_page=100&author_id=undefined&state=opened' + '/api/v4/projects/undefined/issues?per_page=100&scope=created_by_me&state=opened' ) .reply(200, [ { @@ -1108,7 +1116,9 @@ describe(getName(), () => { it('returns true if no title and all state', async () => { httpMock .scope(gitlabApiHost) - .get('/api/v4/projects/undefined/merge_requests?per_page=100') + .get( + '/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 1, @@ -1126,7 +1136,9 @@ describe(getName(), () => { it('returns true if not open', async () => { httpMock .scope(gitlabApiHost) - .get('/api/v4/projects/undefined/merge_requests?per_page=100') + .get( + '/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 1, @@ -1146,7 +1158,9 @@ describe(getName(), () => { it('returns true if open and with title', async () => { httpMock .scope(gitlabApiHost) - .get('/api/v4/projects/undefined/merge_requests?per_page=100') + .get( + '/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 1, @@ -1167,7 +1181,9 @@ describe(getName(), () => { it('returns true with title', async () => { httpMock .scope(gitlabApiHost) - .get('/api/v4/projects/undefined/merge_requests?per_page=100') + .get( + '/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 1, @@ -1186,7 +1202,9 @@ describe(getName(), () => { it('returns true with draft prefix title', async () => { httpMock .scope(gitlabApiHost) - .get('/api/v4/projects/undefined/merge_requests?per_page=100') + .get( + '/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 1, @@ -1205,7 +1223,9 @@ describe(getName(), () => { it('returns true with deprecated draft prefix title', async () => { httpMock .scope(gitlabApiHost) - .get('/api/v4/projects/undefined/merge_requests?per_page=100') + .get( + '/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 1, @@ -1492,7 +1512,9 @@ describe(getName(), () => { await initPlatform('13.3.6-ee'); httpMock .scope(gitlabApiHost) - .get('/api/v4/projects/undefined/merge_requests?per_page=100') + .get( + '/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 1, @@ -1510,7 +1532,9 @@ describe(getName(), () => { await initPlatform('13.3.6-ee'); httpMock .scope(gitlabApiHost) - .get('/api/v4/projects/undefined/merge_requests?per_page=100') + .get( + '/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 1, @@ -1528,7 +1552,9 @@ describe(getName(), () => { await initPlatform('13.3.6-ee'); httpMock .scope(gitlabApiHost) - .get('/api/v4/projects/undefined/merge_requests?per_page=100') + .get( + '/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 1, @@ -1546,7 +1572,9 @@ describe(getName(), () => { await initPlatform('13.3.6-ee'); httpMock .scope(gitlabApiHost) - .get('/api/v4/projects/undefined/merge_requests?per_page=100') + .get( + '/api/v4/projects/undefined/merge_requests?per_page=100&scope=created_by_me' + ) .reply(200, [ { iid: 1, diff --git a/lib/platform/gitlab/index.ts b/lib/platform/gitlab/index.ts index 7c43c8fe1d089c7356f716431413499df2cb88ac..28eecfa1c19a9e0fb81561d4481a9e260788c780 100644 --- a/lib/platform/gitlab/index.ts +++ b/lib/platform/gitlab/index.ts @@ -70,7 +70,6 @@ const defaults = { const DRAFT_PREFIX = 'Draft: '; const DRAFT_PREFIX_DEPRECATED = 'WIP: '; -let authorId: number; let draftPrefix = DRAFT_PREFIX; export async function initPlatform({ @@ -96,7 +95,6 @@ export async function initPlatform({ ) ).body; gitAuthor = `${user.name} <${user.email}>`; - authorId = user.id; // version is 'x.y.z-edition', so not strictly semver; need to strip edition gitlabVersion = ( await gitlabApi.getJson<{ version: string }>('version', { token }) @@ -398,10 +396,8 @@ async function fetchPrList(): Promise<Pr[]> { per_page: '100', } as any; // istanbul ignore if - if (config.ignorePrAuthor) { - // https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-requests - // default: `scope=created_by_me` - searchParams.scope = 'all'; + if (!config.ignorePrAuthor) { + searchParams.scope = 'created_by_me'; } const query = getQueryString(searchParams); const urlString = `projects/${config.repository}/merge_requests?${query}`; @@ -730,7 +726,7 @@ export async function getIssueList(): Promise<GitlabIssue[]> { if (!config.issueList) { const query = getQueryString({ per_page: '100', - author_id: `${authorId}`, + scope: 'created_by_me', state: 'opened', }); const res = await gitlabApi.getJson<