benmatselby / gollum-page-watcher-action

📦 A GitHub Action to watch for GitHub Wiki Page changes, and then notify a Slack channel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gollum Page Watcher GitHub Action

status Go Report Card

A GitHub Action to watch for GitHub Wiki Page changes, and then notify a Slack channel

Secrets

  • SLACK_WEBHOOK: The Slack Webhook URL required to post a message to your workspace.

Environment Variables

  • SLACK_USERNAME: The Slack username if you want to define it, otherwise it will be what you have defined in Slack.
  • SLACK_CHANNEL: The Slack channel if you want to define it, otherwise it will be what you have defined in Slack.
  • PAGES_TO_WATCH: A regex of page titles you want to watch, in order to get a notification. If not defined, all pages are watched.

Example

...
- name: Wiki Watcher
  uses: benmatselby/gollum-page-watcher-action@v1
  env:
    SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
    SLACK_CHANNEL: #random
    SLACK_USERNAME: Gollum
    PAGES_TO_WATCH: (^Home$)|(^Meeting minutes)
...

This will result in a match on "Home", and all pages with a title starting with "Meeting minutes".

Output

Testing

To test this, you can run it from your command line with the following setup

GITHUB_EVENT_PATH=example-payloads/valid-payload.json \
GITHUB_EVENT_NAME=gollum \
SLACK_WEBHOOK=[your-slack-webhook-url] \
SLACK_CHANNEL=[your-slack-channel] \
DEBUG=true \
go run main.go

If DEBUG is defined, it will not post to Slack, but rather output the webhook message in your terminal.

Gollum

About

📦 A GitHub Action to watch for GitHub Wiki Page changes, and then notify a Slack channel

License:MIT License


Languages

Language:Go 91.6%Language:Makefile 6.4%Language:Dockerfile 2.0%