diff --git a/lib/config/validation.js b/lib/config/validation.js index 4691ea9fd16776fcb996c371dd42fd72d2f74648..836fbd0ef43b15368f6713ccbdaa7f0bf9a32b03 100644 --- a/lib/config/validation.js +++ b/lib/config/validation.js @@ -19,6 +19,7 @@ function validateConfig(config) { function isIgnored(key) { const ignoredNodes = [ + 'prBanner', 'depType', 'npmToken', 'packageFile', diff --git a/lib/workers/global/index.js b/lib/workers/global/index.js index 51ff763792c1fcf25d13f3a5364db11aad6c544c..99ff09c21360742e3c935221d9ce362cf75a0a74 100644 --- a/lib/workers/global/index.js +++ b/lib/workers/global/index.js @@ -26,7 +26,7 @@ async function start() { ); } // Move global variables that we need to use later - const importGlobals = ['exposeEnv']; + const importGlobals = ['exposeEnv', 'prBanner']; config.global = {}; importGlobals.forEach(key => { config.global[key] = config[key]; diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js index a0cbfbaeddbfeeb905844a61e46509ade056cd93..c5b945846a799d61c5b718328b94f4e11f6b1fd6 100644 --- a/lib/workers/pr/index.js +++ b/lib/workers/pr/index.js @@ -186,6 +186,10 @@ async function ensurePr(prConfig) { const prTitle = handlebars.compile(config.prTitle)(config); let prBody = handlebars.compile(config.prBody)(config); + // istanbul ignore if + if (config.global && config.global.prBanner) { + prBody = config.global.prBanner + '\n\n' + prBody; + } if (config.isGitHub && !config.privateRepo) { // Put a zero width space after every # followed by a digit prBody = prBody.replace(/#(\d)/gi, '#​$1'); diff --git a/lib/workers/repository/onboarding/pr/index.js b/lib/workers/repository/onboarding/pr/index.js index 00023657db8c4e3c41a89c3dfa4adb91f976b2f3..80b9707324626e82f7855c92addb121ac1b040a3 100644 --- a/lib/workers/repository/onboarding/pr/index.js +++ b/lib/workers/repository/onboarding/pr/index.js @@ -42,6 +42,10 @@ async function ensureOnboardingPr(config) { prBody = prBody.replace('{{ERRORS}}\n', getErrors(config)); prBody = prBody.replace('{{BASEBRANCH}}\n', getBaseBranchDesc(config)); prBody = prBody.replace('{{PRLIST}}\n', getPrList(config)); + // istanbul ignore if + if (config.global && config.global.prBanner) { + prBody = config.global.prBanner + '\n\n' + prBody; + } logger.trace('prBody:\n' + prBody); // Check if existing PR exists