diff --git a/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap b/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap index 8c7322bce7fff99f108e256cda82a1b6fccf93f6..51ebb4b08078373295ceba76c308946d3c781ebb 100644 --- a/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap +++ b/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap @@ -21,6 +21,7 @@ Object { "b", ], "newValue": "0.6.0", + "prBodyColumns": Array [], "prTitle": "some-title", "prettyDepType": "dependency", "releaseTimestamp": undefined, @@ -95,6 +96,7 @@ Object { "isRange": false, "labels": Array [], "newValue": "0.6.0", + "prBodyColumns": Array [], "prTitle": "some-title", "prettyDepType": "dependency", "recreateClosed": false, @@ -165,6 +167,7 @@ Object { "displayTo": "", "isLockFileMaintenance": true, "labels": Array [], + "prBodyColumns": Array [], "prTitle": "some-title", "prettyDepType": "dependency", "releaseTimestamp": undefined, @@ -204,6 +207,7 @@ Object { "lockedVersion": "1.0.0", "newValue": "^1.0.0", "newVersion": "1.0.1", + "prBodyColumns": Array [], "prTitle": "some-title", "prettyDepType": "dependency", "releaseTimestamp": undefined, diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts index 6a238e7efb336f885861c0e731f8ddd78c469eb2..c621fdf70909f2e4f0698d269e8e9aa3fcd5af36 100644 --- a/lib/workers/repository/updates/generate.spec.ts +++ b/lib/workers/repository/updates/generate.spec.ts @@ -660,6 +660,20 @@ describe('workers/repository/updates/generate', () => { const res = generateBranchConfig(branch); expect(res.prTitle).toMatchSnapshot('some-title (patch)'); }); + it('combines prBodyColumns', () => { + const branch: BranchUpgradeConfig[] = [ + { + branchName: 'some-branch', + prBodyColumns: ['column-a', 'column-b'], + }, + { + branchName: 'some-branch', + prBodyColumns: ['column-c', 'column-b', 'column-a'], + }, + ]; + const res = generateBranchConfig(branch); + expect(res.prBodyColumns).toEqual(['column-a', 'column-b', 'column-c']); + }); it('sorts upgrades, without position first', () => { const branch: BranchUpgradeConfig[] = [ { diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts index 655e7e067eeae7ad35f96fef7de45ccaa70fc2c9..d9cae64c970efdf2a895cc689ec68346a90d9b86 100644 --- a/lib/workers/repository/updates/generate.ts +++ b/lib/workers/repository/updates/generate.ts @@ -1,3 +1,4 @@ +import is from '@sindresorhus/is'; import { DateTime } from 'luxon'; import mdTable from 'markdown-table'; import semver from 'semver'; @@ -305,6 +306,14 @@ export function generateBranchConfig( config.dependencyDashboardPrApproval = config.upgrades.some( (upgrade) => upgrade.prCreation === 'approval' ); + config.prBodyColumns = [ + ...new Set( + config.upgrades.reduce( + (existing, upgrade) => existing.concat(upgrade.prBodyColumns), + [] + ) + ), + ].filter(is.nonEmptyString); config.automerge = config.upgrades.every((upgrade) => upgrade.automerge); // combine all labels config.labels = [