Skip to content

hkusu/slack-integration

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slack Integration for GitHub

This Action sends pull request and issue event messages to your Slack channel. This is useful in environments where official integration is not available, such as Slack Enterprise Grid.

Usage

Basic usage

name: Slack Integration

on:
  pull_request:
    types: [opened, reopened, ready_for_review, closed]
  issues:
    types: [opened, reopened, closed]
  pull_request_review:
    types: [submitted]
  issue_comment:
    types: [created]

jobs:
  slack-integration:
    runs-on: ubuntu-latest
    steps:
      - uses: hkusu/slack-integration@v1
        with:
          slack-token: ${{ secrets.SLACK_TOKEN }}
          channel: 'my-report-channel'
          subscribe-pulls: true
          subscribe-issues: true
          subscribe-reviews: true
          subscribe-pull-comments: true
          subscribe-issue-comments: true

Note: This YAML file must be in the head branch of the pull request to handle pull_request and pull_request_review events. Also, to handle issue and issue_comment events that need to be in the default branch. issue_comment event is required not only for issues but also for pull request comments.

Action inputs:

Name Description Default
slack-token (Required) Your Slack App token.
channel (Required) Slack channel to send a message.
subscribe-pulls Subscribe to pull request open, reopen, ready, and close events. false
subscribe-issues Subscribe to issue open, reopen, and close events. false
subscribe-reviews Subscribe to pull request review submit events. false
subscribe-pull-comments Subscribe to comment events on pull requests. false
subscribe-issue-comments Subscribe to comment events on issues. false

Customize messages

To change the message with the default, set the following inputs.

Action inputs:

Name Description Default
pull-open-message Pull request opened. Pull request opened by <actor> :sparkles:
pull-reopen-message Pull request reopened. Pull request reopened by <actor> :recycle:
pull-draft-open-message Draft pull request opened. Draft pull request opened by <actor> :memo:
pull-draft-reopen-message Draft pull request reopened. Draft pull request reopened by <actor> :memo:
pull-ready-message Pull request ready for review. Pull request ready for review by <actor> :sparkles:
pull-close-message Pull request closed. Pull request closed by <actor> :heavy_multiplication_x:
pull-merge-message Pull request merged. Pull request merged by <actor> :twisted_rightwards_arrows:
pull-comment-message Commented on pull request.
issue-open-message Issue opened. Issue opened by <actor> :sparkles:
issue-reopen-message Issue reopened. Issue reopened by <actor> :recycle:
issue-close-message Issue closed. Issue closed by <actor> :heavy_multiplication_x:
issue-comment-message Commented on issue.
review-approve-message Approved in review. <actor> approved <author>''s pull request :white_check_mark:
review-request-changes-message Requested change in review. <actor> requested changes on <author>''s pull request :no_entry:
review-comment-message Commented in the review. <actor> commented on <author>''s pull request :speech_balloon:

Note: In the message you set, <actor> is replaced with the user name that took the action. Similarly, <author> is replaced by the creator of the pull request or issue.

Tips: Custom emojis in your slack workspace are effective.

App and footer information

Action inputs:

Name Description Default
app-name
app-icon Icon url.
app-emoji Emoji, eg :ghost. This is prioritized even if app-icon is set.
footer <${{ github.event.repository.html_url }}|${{ github.event.repository.full_name }}>
footer-icon Icon url. ${{ github.event.repository.owner.avatar_url }}

Actor icon and name

Set whether to show the actor (user who took action) icon and name.

Action inputs:

Name Description Default
show-pull-actor Show actor of pull request events. true
show-issue-actor Show actor of issue events. true
show-review-actor Show actor of pull request review events. true
show-pull-comment-actor Show actor of comment events on pull request. true
show-issue-comment-actor Show actor of comment events on issue. true

Threading comments

Thread comments posted at the same time, such as comments to pull request code.

Action inputs:

Name Description Default
threading-comments Thread comments posted at the same time. false

Pull request / Issue details

Action inputs:

Name Description Default
show-pull-detail Show details of pull request (number of commits, number of changed files, labels, milestone). true
show-issue-detail Show details of issue (labels, milestone). true

Limitations

Due to GitHub restrictions, you cannot subscribe to events such as pull request creation and comments using GITHUB_TOKEN. Use a personal access token to avoid this.

License

MIT