From 3fd090f3efe974b88497bec8ec3232f818d99402 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Thu, 1 Mar 2018 17:35:11 +0100 Subject: [PATCH] feat: prBanner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enables a “banner†at the top of PRs. Must be set inside a config.js to work. --- lib/config/validation.js | 1 + lib/workers/global/index.js | 2 +- lib/workers/pr/index.js | 4 ++++ lib/workers/repository/onboarding/pr/index.js | 4 ++++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/config/validation.js b/lib/config/validation.js index 4691ea9fd1..836fbd0ef4 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 51ff763792..99ff09c213 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 a0cbfbaedd..c5b945846a 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 00023657db..80b9707324 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 -- GitLab