mirror of
https://github.com/marocchino/sticky-pull-request-comment.git
synced 2025-12-12 19:51:14 +00:00
feat: append to previous comment message
This commit is contained in:
parent
dd253e3148
commit
168a45153d
4 changed files with 19 additions and 3 deletions
|
|
@ -67,6 +67,14 @@ it("updateComment", async () => {
|
||||||
comment_id: 456,
|
comment_id: 456,
|
||||||
body: "<!-- Sticky Pull Request CommentTypeA -->\nhello there"
|
body: "<!-- Sticky Pull Request CommentTypeA -->\nhello there"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
expect(
|
||||||
|
await updateComment(octokit, repo, 456, "hello there", "TypeA", "<!-- Sticky Pull Request CommentTypeA -->\nhello there")
|
||||||
|
).toBeUndefined();
|
||||||
|
expect(octokit.issues.updateComment).toBeCalledWith({
|
||||||
|
comment_id: 456,
|
||||||
|
body: "<!-- Sticky Pull Request CommentTypeA -->\nhello there\nhello there"
|
||||||
|
});
|
||||||
});
|
});
|
||||||
it("createComment", async () => {
|
it("createComment", async () => {
|
||||||
const octokit = {
|
const octokit = {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@ inputs:
|
||||||
header:
|
header:
|
||||||
description: "Header to determine if the comment is to be updated, not shown on screen"
|
description: "Header to determine if the comment is to be updated, not shown on screen"
|
||||||
required: false
|
required: false
|
||||||
|
append:
|
||||||
|
description: "Indicate if new comment messages should be appended to previous comment message"
|
||||||
|
required: false
|
||||||
message:
|
message:
|
||||||
description: "comment message"
|
description: "comment message"
|
||||||
required: true
|
required: true
|
||||||
|
|
|
||||||
|
|
@ -10,11 +10,11 @@ export async function findPreviousComment(octokit, repo, issue_number, header) {
|
||||||
const h = headerComment(header);
|
const h = headerComment(header);
|
||||||
return comments.find(comment => comment.body.startsWith(h));
|
return comments.find(comment => comment.body.startsWith(h));
|
||||||
}
|
}
|
||||||
export async function updateComment(octokit, repo, comment_id, body, header) {
|
export async function updateComment(octokit, repo, comment_id, body, header, previousBody?) {
|
||||||
await octokit.issues.updateComment({
|
await octokit.issues.updateComment({
|
||||||
...repo,
|
...repo,
|
||||||
comment_id,
|
comment_id,
|
||||||
body: `${headerComment(header)}\n${body}`
|
body: previousBody ? `${previousBody}\n${body}` : `${headerComment(header)}\n${body}`
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
export async function createComment(octokit, repo, issue_number, body, header) {
|
export async function createComment(octokit, repo, issue_number, body, header) {
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,16 @@ async function run() {
|
||||||
const repo = context.repo;
|
const repo = context.repo;
|
||||||
const body = core.getInput("message", { required: true });
|
const body = core.getInput("message", { required: true });
|
||||||
const header = core.getInput("header", { required: false }) || "";
|
const header = core.getInput("header", { required: false }) || "";
|
||||||
|
const append = core.getInput("append", { required: false }) || false;
|
||||||
const githubToken = core.getInput("GITHUB_TOKEN", { required: true });
|
const githubToken = core.getInput("GITHUB_TOKEN", { required: true });
|
||||||
const octokit = new GitHub(githubToken);
|
const octokit = new GitHub(githubToken);
|
||||||
const previous = await findPreviousComment(octokit, repo, number, header);
|
const previous = await findPreviousComment(octokit, repo, number, header);
|
||||||
if (previous) {
|
if (previous) {
|
||||||
await updateComment(octokit, repo, previous.id, body, header);
|
if (append) {
|
||||||
|
await updateComment(octokit, repo, previous.id, body, header, previous.body);
|
||||||
|
} else {
|
||||||
|
await updateComment(octokit, repo, previous.id, body, header);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
await createComment(octokit, repo, number, body, header);
|
await createComment(octokit, repo, number, body, header);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue