diff --git a/README.md b/README.md index 32524df..3ee303e 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ jobs: | message-success | with | A message override, printed in case of success. | no | | | message-failure | with | A message override, printed in case of failure. | no | | | message-cancelled | with | A message override, printed in case of cancelled. | no | | +| message-skipped | with | A message override, printed in case of skipped. | no | | | status | with | Required if you want to use message status overrides. | no | {{ job.status }} | | repo-token | with | Valid GitHub token, either the temporary token GitHub provides or a personal access token. | no | {{ github.token }} | | message-id | with | Message id to use when searching existing comments. If found, updates the existing (sticky comment). | no | | diff --git a/__tests__/add-pr-comment.test.ts b/__tests__/add-pr-comment.test.ts index 9c6798c..1dc674a 100644 --- a/__tests__/add-pr-comment.test.ts +++ b/__tests__/add-pr-comment.test.ts @@ -22,7 +22,8 @@ type Inputs = { 'message-success'?: string 'message-failure'?: string 'message-cancelled'?: string - status?: 'success' | 'failure' | 'cancelled' + 'message-skipped'?: string + status?: 'success' | 'failure' | 'cancelled' | 'skipped' } const inputs: Inputs = { @@ -307,4 +308,27 @@ describe('add-pr-comment action', () => { await run() expect(messagePayload?.body).toContain('666') }) + + it('overrides the default message with a skipped message on skipped', async () => { + inputs.message = simpleMessage + inputs['message-path'] = undefined + inputs['repo-token'] = repoToken + inputs['allow-repeats'] = 'false' + inputs['message-skipped'] = '666' + inputs.status = 'skipped' + + const commentId = 123 + + getIssueCommentsResponse = [ + { + id: commentId, + }, + ] + postIssueCommentsResponse = { + id: commentId, + } + + await run() + expect(messagePayload?.body).toContain('666') + }) }) diff --git a/action.yml b/action.yml index 05583b0..c6d52e1 100644 --- a/action.yml +++ b/action.yml @@ -39,6 +39,9 @@ inputs: message-cancelled: description: "Override the message when a run is cancelled." required: false + message-skipped: + description: "Override the message when a run is skipped." + required: false issue: description: "Override the message when a run is cancelled." required: false diff --git a/lib/config.js b/lib/config.js index 1d78867..cb22edf 100644 --- a/lib/config.js +++ b/lib/config.js @@ -55,6 +55,7 @@ async function getInputs() { const messageSuccess = core.getInput(`message-success`); const messageFailure = core.getInput(`message-failure`); const messageCancelled = core.getInput(`message-cancelled`); + const messageSkipped = core.getInput(`message-skipped`); if (status === 'success' && messageSuccess) { message = messageSuccess; } @@ -64,6 +65,9 @@ async function getInputs() { if (status === 'cancelled' && messageCancelled) { message = messageCancelled; } + if (status === 'skipped' && messageSkipped) { + message = messageSkipped; + } if (!message) { throw new Error('no message, check your message inputs'); } diff --git a/src/config.ts b/src/config.ts index 96b0802..4350e9d 100644 --- a/src/config.ts +++ b/src/config.ts @@ -49,6 +49,7 @@ export async function getInputs(): Promise { const messageSuccess = core.getInput(`message-success`) const messageFailure = core.getInput(`message-failure`) const messageCancelled = core.getInput(`message-cancelled`) + const messageSkipped = core.getInput(`message-skipped`) if (status === 'success' && messageSuccess) { message = messageSuccess @@ -62,6 +63,10 @@ export async function getInputs(): Promise { message = messageCancelled } + if (status === 'skipped' && messageSkipped) { + message = messageSkipped + } + if (!message) { throw new Error('no message, check your message inputs') }