Sign inSign up

rtcamp/action-slack-notify

By rtcamp

•Updated about 5 years ago

Image
0

10M+

rtcamp/action-slack-notify repository overview

This action is a part of GitHub Actions Library⁠ created by rtCamp⁠.

⁠Slack Notify - GitHub Action

Project Status: Active – The project has reached a stable, usable state and is being actively developed.

A GitHub Action⁠ to send a message to a Slack channel.

Screenshot

action-slack-notify-rtcamp

The Site and SSH Host details are only available if this action is run after Deploy WordPress GitHub action⁠.

⁠Usage

You can use this action after any other action. Here is an example setup of this action:

  1. Create a .github/workflows/slack-notify.yml file in your GitHub repo.
  2. Add the following code to the slack-notify.yml file.
on: push
name: Slack Notification Demo
jobs:
  slackNotification:
    name: Slack Notification
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Slack Notification
      uses: rtCamp/action-slack-notify@v2
      env:
        SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
  1. Create SLACK_WEBHOOK secret using GitHub Action's Secret⁠. You can generate a Slack incoming webhook token from here⁠.

⁠Environment Variables

By default, action is designed to run with minimal configuration but you can alter Slack notification using following environment variables:

VariableDefaultPurpose
SLACK_CHANNELSet during Slack webhook creationSpecify Slack channel in which message needs to be sent
SLACK_USERNAMErtBotCustom Slack Username sending the message. Does not need to be a "real" username.
SLACK_MSG_AUTHOR$GITHUB_ACTOR (The person who triggered action).GitHub username of the person who has triggered the action. In case you want to modify it, please specify corrent GitHub username.
SLACK_ICONrtBot AvatarUser/Bot icon shown with Slack message. It uses the URL supplied to this env variable to display the icon in slack message.
SLACK_ICON_EMOJI-User/Bot icon shown with Slack message, in case you do not wish to add a URL for slack icon as above, you can set slack emoji in this env variable. Example value: :bell: or any other valid slack emoji.
SLACK_COLORgood (green)You can pass ${{ job.status }} for automatic coloring or an RGB value like #efefef which would change color on left side vertical line of Slack message.
SLACK_LINK_NAMES-If set to true, enable mention in Slack message.
SLACK_MESSAGEGenerated from git commit message.The main Slack message in attachment. It is advised not to override this.
SLACK_TITLEMessageTitle to use before main Slack message.
SLACK_FOOTERPowered By rtCamp's GitHub Actions LibrarySlack message footer.
MSG_MINIMAL-If set to true, removes: Ref, Event, Actions URL and Commit from the message. You can optionally whitelist any of these 4 removed values by passing it comma separated to the variable instead of true. (ex: MSG_MINIMAL: event or MSG_MINIMAL: ref,actions url, etc.)

You can see the action block with all variables as below:

    - name: Slack Notification
      uses: rtCamp/action-slack-notify@v2
      env:
        SLACK_CHANNEL: general
        SLACK_COLOR: ${{ job.status }} # or a specific color like 'good' or '#ff00ff'
        SLACK_ICON: https://github.com/rtCamp.png?size=48
        SLACK_MESSAGE: 'Post Content :rocket:'
        SLACK_TITLE: Post Title
        SLACK_USERNAME: rtCamp
        SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}

Below screenshot help you visualize message part controlled by different variables:

Screenshot_2019-03-26_at_5_56_05_PM

The Site and SSH Host details are only available if this action is run after Deploy WordPress GitHub action⁠.

⁠Hashicorp Vault (Optional)

This GitHub action supports Hashicorp Vault⁠.

To enable Hashicorp Vault support, please define following GitHub secrets:

VariablePurposeExample Vaule
VAULT_ADDRVault server address⁠https://example.com:8200
VAULT_TOKENVault token⁠s.gIX5MKov9TUp7iiIqhrP1HgN

You will need to change secrets line in slack-notify.yml file to look like below.

on: push
name: Slack Notification Demo
jobs:
  slackNotification:
    name: Slack Notification
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Slack Notification
      uses: rtCamp/action-slack-notify@v2
      env:
        VAULT_ADDR: ${{ secrets.VAULT_ADDR }}
        VAULT_TOKEN: ${{ secrets.VAULT_TOKEN }}

GitHub action uses VAULT_TOKEN to connect to VAULT_ADDR to retrieve slack webhook from Vault.

In the Vault, the Slack webhook should be setup as field webhook on path secret/slack.

⁠License

MIT⁠ © 2019 rtCamp

⁠Does this interest you?

Join us at rtCamp, we specialize in providing high performance enterprise WordPress solutions

Tag summary

Content type

Image

Digest

Size

59.2 MB

Last updated

about 5 years ago

docker pull rtcamp/action-slack-notify:master