diff --git a/__tests__/comment.test.ts b/__tests__/comment.test.ts
index 7b926b1..3d7146c 100644
--- a/__tests__/comment.test.ts
+++ b/__tests__/comment.test.ts
@@ -5,6 +5,7 @@ import {
createComment,
deleteComment,
findPreviousComment,
+ getBodyOf,
updateComment
} from "../src/comment"
@@ -177,3 +178,42 @@ it("deleteComment", async () => {
repo: "sticky-pull-request-comment"
})
})
+
+describe("getBodyOf", () => {
+ const nullPrevious = {}
+ const simplePrevious = {
+ body: "hello there\n"
+ }
+ const detailsPrevious = {
+ body: `
+
+ title
+
+ content
+
+
+ `
+ }
+ const replaced = `
+
+ title
+
+ content
+
+
+ `
+ test.each`
+ append | hideDetails | previous | expected
+ ${false} | ${false} | ${detailsPrevious} | ${undefined}
+ ${true} | ${false} | ${nullPrevious} | ${undefined}
+ ${true} | ${false} | ${detailsPrevious} | ${detailsPrevious.body}
+ ${true} | ${true} | ${nullPrevious} | ${undefined}
+ ${true} | ${true} | ${simplePrevious} | ${simplePrevious.body}
+ ${true} | ${true} | ${detailsPrevious} | ${replaced}
+ `(
+ "receive $previous, $append, $hideDetails and returns $expected",
+ ({append, hideDetails, previous, expected}) => {
+ expect(getBodyOf(previous, append, hideDetails)).toEqual(expected)
+ }
+ )
+})
diff --git a/__tests__/config.test.ts b/__tests__/config.test.ts
index c928ed1..20943f7 100644
--- a/__tests__/config.test.ts
+++ b/__tests__/config.test.ts
@@ -4,6 +4,7 @@ beforeEach(() => {
process.env["INPUT_APPEND"] = "false"
process.env["INPUT_RECREATE"] = "false"
process.env["INPUT_DELETE"] = "false"
+ process.env["INPUT_HIDE_DETAILS"] = "false"
process.env["INPUT_GITHUB_TOKEN"] = "some-token"
})
@@ -17,6 +18,7 @@ afterEach(() => {
delete process.env["INPUT_APPEND"]
delete process.env["INPUT_RECREATE"]
delete process.env["INPUT_DELETE"]
+ delete process.env["INPUT_HIDE_DETAILS"]
delete process.env["INPUT_GITHUB_TOKEN"]
delete process.env["INPUT_PATH"]
})
@@ -31,6 +33,7 @@ test("repo", () => {
append: false,
recreate: false,
deleteOldComment: false,
+ hideDetails: false,
githubToken: "some-token"
})
})
@@ -44,6 +47,7 @@ test("header", () => {
append: false,
recreate: false,
deleteOldComment: false,
+ hideDetails: false,
githubToken: "some-token"
})
})
@@ -57,6 +61,7 @@ test("append", () => {
append: true,
recreate: false,
deleteOldComment: false,
+ hideDetails: false,
githubToken: "some-token"
})
})
@@ -70,6 +75,7 @@ test("recreate", () => {
append: false,
recreate: true,
deleteOldComment: false,
+ hideDetails: false,
githubToken: "some-token"
})
})
@@ -83,6 +89,21 @@ test("delete", () => {
append: false,
recreate: false,
deleteOldComment: true,
+ hideDetails: false,
+ githubToken: "some-token"
+ })
+})
+test("hideDetails", () => {
+ process.env["INPUT_HIDE_DETAILS"] = "true"
+ expect(require("../src/config")).toMatchObject({
+ pullRequestNumber: expect.any(Number),
+ repo: {owner: "marocchino", repo: "stick-pull-request-comment"},
+ body: "",
+ header: "",
+ append: false,
+ recreate: false,
+ deleteOldComment: false,
+ hideDetails: true,
githubToken: "some-token"
})
})
@@ -97,6 +118,7 @@ describe("path", () => {
append: false,
recreate: false,
deleteOldComment: false,
+ hideDetails: false,
githubToken: "some-token"
})
})
@@ -111,6 +133,7 @@ describe("path", () => {
append: false,
recreate: false,
deleteOldComment: false,
+ hideDetails: false,
githubToken: "some-token"
})
})
@@ -126,6 +149,7 @@ test("message", () => {
append: false,
recreate: false,
deleteOldComment: false,
+ hideDetails: false,
githubToken: "some-token"
})
})
diff --git a/action.yml b/action.yml
index a9d927c..8e516a4 100644
--- a/action.yml
+++ b/action.yml
@@ -18,6 +18,10 @@ inputs:
description: "delete the previously created comment. Only `true` is allowed. Just skip this item when you don't need it."
default: "false"
required: false
+ hide_details:
+ description: "hide summary tags in the previously created comment. Only `true` is allowed. Just skip this item when you don't need it."
+ default: "false"
+ required: false
message:
description: "comment message"
required: false
diff --git a/src/comment.ts b/src/comment.ts
index b58fe07..862da94 100644
--- a/src/comment.ts
+++ b/src/comment.ts
@@ -81,3 +81,19 @@ export async function deleteComment(
comment_id
})
}
+
+export function getBodyOf(
+ previous: {body?: string},
+ append: boolean,
+ hideDetails: boolean
+): string | undefined {
+ if (!append) {
+ return undefined
+ }
+
+ if (!hideDetails) {
+ return previous.body
+ }
+
+ return previous.body?.replace(/()/g, "$1$2")
+}
diff --git a/src/config.ts b/src/config.ts
index 5e2f9a0..acd0f6a 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -9,6 +9,9 @@ export const pullRequestNumber =
export const repo = buildRepo()
export const header = core.getInput("header", {required: false})
export const append = core.getBooleanInput("append", {required: true})
+export const hideDetails = core.getBooleanInput("hide_details", {
+ required: true
+})
export const recreate = core.getBooleanInput("recreate", {required: true})
export const deleteOldComment = core.getBooleanInput("delete", {required: true})
export const githubToken = core.getInput("GITHUB_TOKEN", {required: true})
diff --git a/src/main.ts b/src/main.ts
index 8307f70..ac8fa3f 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -6,6 +6,7 @@ import {
deleteOldComment,
githubToken,
header,
+ hideDetails,
pullRequestNumber,
recreate,
repo
@@ -14,6 +15,7 @@ import {
createComment,
deleteComment,
findPreviousComment,
+ getBodyOf,
updateComment
} from "./comment"
@@ -50,7 +52,7 @@ async function run(): Promise {
return
}
- const previousBody = append ? previous.body : undefined
+ const previousBody = getBodyOf(previous, append, hideDetails)
if (recreate) {
await deleteComment(octokit, repo, previous.id)
await createComment(