Skip to content

A GitHub Action to send Slack/Teams notification for Pull Request that are waiting for reviewers.

License

Notifications You must be signed in to change notification settings

DavideViolante/pr-reviews-reminder-action

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

Repository files navigation

Pull Request reviews reminder action

Coverage Status Maintainability Donate

Action to send Slack/Rocket/Teams notifications when there are pull requests pending for reviews.

Preview

Preview

Inputs

webhook-url

The webhook URL (required). More info here (Slack) and here (Teams).

provider

Chat provider, slack, rocket or msteams (required). Default slack.

channel

The channel name, eg: #general (optional).

github-provider-map

A string like this "githubusername1:provideruserid1,githubusername2:provideruserid2,..." to define the mapping between GitHub usernames and Slack/MS Teams user IDs (optional). Example: "DavideViolante:UEABCDEFG,foobar:UAABCDEFG". Note: it's case sensitive! How to find Slack User IDs.

For MS Teams, the provider user ID can be an MS teams user ID or a UPN Example: "DavideViolante:[email protected]',foobar:[email protected]".

Another hacky way (no code) to find the MS Teams UPN is the following: open MS Teams on your browser, click the 3 dots near your Team name, click Add member, open Google Chrome console Network tab Fetch/XHR category, type the email address, look for "searchV2" in the Network tab, click Response tab.

ignore-label

Ignore Pull Requests with that label(s), eg: no-reminder or no-reminder,ignore me (optional).

Example usage

name: PRs reviews reminder

on:
  schedule:
    # Every weekday every 2 hours during working hours, send notification
    - cron: "0 8-17/2 * * 1-5"

jobs:
  pr-reviews-reminder:
    runs-on: ubuntu-latest
    steps:
    - uses: davideviolante/[email protected]
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        webhook-url: '' # Required
        provider: '' # Required (slack, rocket or msteams)
        channel: '' # Optional, eg: #general
        github-provider-map: '' # Optional, eg: DavideViolante:UEABCDEFG,foobar:UAABCDEFG
        ignore-label: '' # Optional, eg: no-reminder,ignore me

Bug or feedback?

Please open an issue.

Author