diff --git a/src/lib/github/v3/createStatusComment.test.ts b/src/lib/github/v3/createStatusComment.test.ts
index 0a310885..0d1e78b5 100644
--- a/src/lib/github/v3/createStatusComment.test.ts
+++ b/src/lib/github/v3/createStatusComment.test.ts
@@ -345,6 +345,34 @@ describe('getCommentBody', () => {
targetPullRequestStates: [],
},
},
+ {
+ formatted: 'some-formatted-text',
+ commit: {
+ author: {
+ email: 'matthias.wilhelm@elastic.co',
+ name: 'Matthias Polman-Wilhelm',
+ },
+ sourceBranch: 'master',
+ sourcePullRequest: {
+ labels: [],
+ number: 44,
+ title: 'Antarctica commit | with pipeline char',
+ url: 'url-to-pr-45',
+ mergeCommit: {
+ sha: '',
+ message: 'Antarctica commit | with pipeline char',
+ },
+ },
+ suggestedTargetBranches: [],
+ sourceCommit: {
+ branchLabelMapping: {},
+ committedDate: '',
+ sha: '',
+ message: 'Antarctica commit | with pipeline char',
+ },
+ targetPullRequestStates: [],
+ },
+ },
],
}),
},
@@ -365,27 +393,27 @@ describe('getCommentBody', () => {
it('posts a comment when `publishStatusCommentOnFailure = true`', () => {
const params = getParams({ publishStatusCommentOnFailure: true });
expect(getCommentBody(params)).toMatchInlineSnapshot(`
- "## 💔 Some backports could not be created
+"## 💔 Some backports could not be created
- | Status | Branch | Result |
- |:------:|:------:|:------|
- |✅|7.x|[](url-to-pr-55)|
- |❌|7.1|**Backport failed because of merge conflicts**
You might need to backport the following PRs to 7.1:
- [New Zealand commit message](url-to-pr-5)
- [Australia commit](url-to-pr-44)|
- |❌|7.2|Backport failed because of merge conflicts|
+| Status | Branch | Result |
+|:------:|:------:|:------|
+|✅|7.x|[](url-to-pr-55)|
+|❌|7.1|**Backport failed because of merge conflicts**
You might need to backport the following PRs to 7.1:
- [New Zealand commit message](url-to-pr-5)
- [Australia commit](url-to-pr-44)
- [Antarctica commit \\| with pipeline char](url-to-pr-45)|
+|❌|7.2|Backport failed because of merge conflicts|
- Note: Successful backport PRs will be merged automatically after passing CI.
+Note: Successful backport PRs will be merged automatically after passing CI.
- ### Manual backport
- To create the backport manually run:
- \`\`\`
- node scripts/backport --pr 55
- \`\`\`
+### Manual backport
+To create the backport manually run:
+\`\`\`
+node scripts/backport --pr 55
+\`\`\`
- ### Questions ?
- Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport)
+### Questions ?
+Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport)
- "
- `);
+"
+`);
});
it('does not post a comment when `publishStatusCommentOnFailure = false`', () => {
diff --git a/src/lib/github/v3/createStatusComment.ts b/src/lib/github/v3/createStatusComment.ts
index e94e7311..6ced470b 100644
--- a/src/lib/github/v3/createStatusComment.ts
+++ b/src/lib/github/v3/createStatusComment.ts
@@ -152,9 +152,10 @@ ${manualBackportCommand}${questionsAndLinkToBackport}${packageVersionSection}`;
) {
const unmergedBackports =
result.error.errorContext.commitsWithoutBackports.map((c) => {
- return ` - [${getFirstLine(c.commit.sourceCommit.message)}](${
- c.commit.sourcePullRequest?.url
- })`;
+ const msg = getFirstLine(c.commit.sourceCommit.message);
+ // make sure to escape the pipe character to ensure the markdown table is correct
+ const msgEscaped = msg.replace(/\|/g, '\\|');
+ return ` - [${msgEscaped}](${c.commit.sourcePullRequest?.url})`;
});
const unmergedBackportsSection =