feat: add message-skipped input to action (#76)

* add message-skipped input to action
This commit is contained in:
Aryella Lacerda 2023-04-22 08:32:11 -03:00 committed by GitHub
parent ec8c4b3b90
commit e4a2f85328
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 38 additions and 1 deletions

View file

@ -69,6 +69,7 @@ jobs:
| message-success | with | A message override, printed in case of success. | no | | | 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-failure | with | A message override, printed in case of failure. | no | |
| message-cancelled | with | A message override, printed in case of cancelled. | 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 }} | | 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 }} | | 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 | | | message-id | with | Message id to use when searching existing comments. If found, updates the existing (sticky comment). | no | |

View file

@ -22,7 +22,8 @@ type Inputs = {
'message-success'?: string 'message-success'?: string
'message-failure'?: string 'message-failure'?: string
'message-cancelled'?: string 'message-cancelled'?: string
status?: 'success' | 'failure' | 'cancelled' 'message-skipped'?: string
status?: 'success' | 'failure' | 'cancelled' | 'skipped'
} }
const inputs: Inputs = { const inputs: Inputs = {
@ -307,4 +308,27 @@ describe('add-pr-comment action', () => {
await run() await run()
expect(messagePayload?.body).toContain('666') 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')
})
}) })

View file

@ -39,6 +39,9 @@ inputs:
message-cancelled: message-cancelled:
description: "Override the message when a run is cancelled." description: "Override the message when a run is cancelled."
required: false required: false
message-skipped:
description: "Override the message when a run is skipped."
required: false
issue: issue:
description: "Override the message when a run is cancelled." description: "Override the message when a run is cancelled."
required: false required: false

View file

@ -55,6 +55,7 @@ async function getInputs() {
const messageSuccess = core.getInput(`message-success`); const messageSuccess = core.getInput(`message-success`);
const messageFailure = core.getInput(`message-failure`); const messageFailure = core.getInput(`message-failure`);
const messageCancelled = core.getInput(`message-cancelled`); const messageCancelled = core.getInput(`message-cancelled`);
const messageSkipped = core.getInput(`message-skipped`);
if (status === 'success' && messageSuccess) { if (status === 'success' && messageSuccess) {
message = messageSuccess; message = messageSuccess;
} }
@ -64,6 +65,9 @@ async function getInputs() {
if (status === 'cancelled' && messageCancelled) { if (status === 'cancelled' && messageCancelled) {
message = messageCancelled; message = messageCancelled;
} }
if (status === 'skipped' && messageSkipped) {
message = messageSkipped;
}
if (!message) { if (!message) {
throw new Error('no message, check your message inputs'); throw new Error('no message, check your message inputs');
} }

View file

@ -49,6 +49,7 @@ export async function getInputs(): Promise<Inputs> {
const messageSuccess = core.getInput(`message-success`) const messageSuccess = core.getInput(`message-success`)
const messageFailure = core.getInput(`message-failure`) const messageFailure = core.getInput(`message-failure`)
const messageCancelled = core.getInput(`message-cancelled`) const messageCancelled = core.getInput(`message-cancelled`)
const messageSkipped = core.getInput(`message-skipped`)
if (status === 'success' && messageSuccess) { if (status === 'success' && messageSuccess) {
message = messageSuccess message = messageSuccess
@ -62,6 +63,10 @@ export async function getInputs(): Promise<Inputs> {
message = messageCancelled message = messageCancelled
} }
if (status === 'skipped' && messageSkipped) {
message = messageSkipped
}
if (!message) { if (!message) {
throw new Error('no message, check your message inputs') throw new Error('no message, check your message inputs')
} }