diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js index 1ce40986fe3ec0924c9308af041d5270156b9268..ac2b425845bd4bafa33a6de7c481b964463217b8 100644 --- a/lib/workers/pr/index.js +++ b/lib/workers/pr/index.js @@ -52,6 +52,8 @@ async function ensurePr(inputConfig, logger, errors, warnings) { const processedUpgrades = []; + const issueRe = /([\s(])#(\d+)([)\s]?)/g; + // Get changelog and then generate template strings for (const upgrade of upgrades) { const upgradeKey = `${upgrade.depName}-${upgrade.changeLogFromVersion}-${upgrade.changeLogToVersion}`; @@ -82,15 +84,11 @@ async function ensurePr(inputConfig, logger, errors, warnings) { commit.url = `${logJSON.project.repository}/commit/${change.sha}`; if (change.message) { commit.message = change.message.split('\n')[0]; - const re = /([\s(])#(\d+)([)\s]?)/g; if (!config.isGitHub || config.privateRepo === true) { commit.message = commit.message.replace( - re, + issueRe, `$1[#$2](${upgrade.repositoryUrl}/issues/$2)$3` ); - } else { - // Public GitHub repos need links prevented - see #489 - commit.message = commit.message.replace(re, '$1`#$2`$3'); } } release.commits.push(commit); @@ -117,7 +115,11 @@ async function ensurePr(inputConfig, logger, errors, warnings) { let prBodyMarkdown = handlebars.compile(config.prBody)(config); const atUserRe = /[^`]@([a-z]+\/[a-z]+)/g; prBodyMarkdown = prBodyMarkdown.replace(atUserRe, '@​$1'); - const prBody = converter.makeHtml(prBodyMarkdown); + let prBody = converter.makeHtml(prBodyMarkdown); + // Public GitHub repos need links prevented - see #489 + prBody = prBody.replace(issueRe, '$1#​$2$3'); + const backTickRe = /`([^/]*?)`/g; + prBody = prBody.replace(backTickRe, '<code>$1</code>'); try { // Check if existing PR exists