You can notify slack of GitHub Actions.
See action.yml, test.yml
| key | value | default | description |
|---|---|---|---|
| status | 'success' or 'failure' or 'cancelled' or 'custom' | '' | Recommend${{ job.status }}. |
| text | any string | '' | You can add to text by specifying it. |
| author_name | any string | '8398a7@action-slack' | It can be overwritten by specifying. The job name is recommend. |
| mention | 'here' or 'channel' or user_id (e.g. mention: user_id,user_id2) | '' | Always mention when specified. |
| only_mention_fail | 'here' or 'channel' or user_id (e.g. mention: user_id,user_id2) | '' | If specified, mention only on failure. |
| payload | e.g. {"text": "Custom Field Check", obj: 'LOWER CASE'.toLowerCase()} | '' | Only available when status: custom. The payload format can pass javascript object. |
| username | Only legacy incoming webhook supported. | '' | override the legacy integration's default name. |
| icon_emoji | Only legacy incoming webhook supported. | '' | an emoji code string to use in place of the default icon. |
| icon_url | Only legacy incoming webhook supported. | '' | an icon image URL string to use in place of the default icon. |
| channel | Only legacy incoming webhook supported. | '' | override the legacy integration's default channel. This should be an ID, such as C8UJ12P4P. |
See here for payload reference or Custom Notification.
- Message Formatting
- Enter json and check in preview.
- Reference: Message payloads
- uses: 8398a7/action-slack@v2 with: status: ${{ job.status }} author_name: Integration Test # default: 8398a7@action-slack env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # required SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required if: always() # Pick up events even if the job fails or is canceled.When adding to text, write as follows.
- uses: 8398a7/action-slack@v2 with: status: ${{ job.status }} text: overwrite text env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # required SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # requiredIn case of failure or cancellation, you will be notified as follows.
If you specify as follows, you can also support legacy incoming webhooks.
The specified secrets.SLACK_WEBHOOK_URL must be legacy.
- uses: 8398a7/action-slack@v2 with: type: ${{ job.status }} username: Custom Username icon_emoji: ':octocat:' channel: '#integration-test' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # required SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # requiredUse status: custom if you want to send an arbitrary payload.
The payload format can pass javascript object.
- uses: 8398a7/action-slack@v2 with: status: custom payload: | { text: "Custom Field Check", attachments: [{ "author_name": "8398a7@action-slack", // json fallback: 'fallback', color: 'good', title: 'CI Result', text: 'Succeeded', fields: [{ title: 'lower case', value: 'LOWER CASE CHECK'.toLowerCase(), short: true }, { title: 'reverse', value: 'gnirts esrever'.split('').reverse().join(''), short: true }, { title: 'long title1', value: 'long value1', short: false }], actions: [{ }] }] } env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # optional SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # requiredCurrently the field is fixed, but I want to make it selectable.
It is assumed that the input is in csv format.
- uses: 8398a7/action-slack@v2 with: status: ${{ job.status }} fields: repo,message,action,author env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # required SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required


