This is the new PullApprove v3! Completely redesigned and rebuilt. You can read more about it here or log in to v2 here.

Notifications

PullApprove provides an easy way insert automated comments at specific times in your process. These can be used to communicate helpful tips to contributors and first-timers, instruct reviewers, or boost morale 🎉.

Notifications are triggered based on "events". Most of the events come directly from GitHub, and a few are added by us.

version: 3
notifications:
- when: pull_request.opened
  comment: |
    Hey @{{ author }}, thanks for the PR! The review will start once
    the tests and CI checks have passed. You'll also need to sign our
    CLA if you haven't before.
- when: pullapprove.approved
  if: "author_assosciation == 'CONTRIBUTOR'"
  comment: "The review is completed. Thanks @{{ author }}, we'll take it from here."

groups:
  ...

Pull request automated review comment from PullApprove

Filtering with "if"

You can filter out events based on the state of the PR by adding an if condition. This is written just like any other condition but you also have access to an event object.

notifications:
- when: pullapprove.approved
  if: "author_assosciation == 'CONTRIBUTOR'"
  comment: The review is completed. Thanks @{{ author }}, we'll take it from here.

GitHub Events and Context

The when field of notifications should match the {webhook_event_name}.{action} as it was sent from GitHub. For example, when a pull request is opened you would say when: pull_request.opened. Within the comment field you also have access to an additional set of data under the variable name event — which gives you access to the webhook data from GitHub.

For example:

notifications:
- when: pull_request.edited
  comment: "@{{ event.sender}} edited this PR."

For a full reference of GitHub webhook event names and available data, look here.

PullApprove receives these events from GitHub.

GitHub pull request events to PullApprove

PullApprove Events

These custom events are made by PullApprove itself, so that you can also send notifications at specific times in the broader review workflow.

  • pullapprove.started - the first time that PullApprove sends a "pending" status for the PR (e.g. groups have been activated)
  • pullapprove.approved - when there are active groups, and they have all approved the PR
  • pullapprove.group.requested_reviewers - any time review requests are created by PullApprove, comes with event.group and event.requested_reviewers that you can us in the comment template
  • pullapprove.group.unrequested_reviewers - any time review requests are removed by PullApprove, comes with event.group and event.unrequested_reviewers that you can us in the comment template