A GitHub App that enforces approval policies on pull requests
Policies can now use the has_valid_signatures
, has_valid_signatures_by
, and has_valid_signatures_by_key
to enable rules based on the GPG signatures of commits in the pull requests.
triage
and maintain
permissions (#294)Policies can use the requires.permissions
option to specify the minimum permission a collaborator must have to approve a rule. This option replaces the existing admins
and write_collaborators
options, which are now deprecated.
As a result of this change, policies that still use the admins
and write_collaborators
options will behave slightly differently:
write_collaborators: true
can also be approved by users with maintain
and admin
permissionsadmins: true
and enable review requests will now request direct admins in addition members of admin teamsAdds functionality for disapproving pull requests which do not comply by defined title formatting requirements as mentioned in #244.
title
is added for defining allowed (not_match
) and disallowed (match
) regex patterns on a pull request title.disapproval
policy is extended to allow predicates just as individual approval_rules
do. However, whereas an approval rule may only allow approvals subject to passing predicates, the disapproval
policy will only allow disapprovals subject to its own predicates all failing. Passing predicates on the disapproval
policy will trigger a default disapproval, just as failing predicates on an approval rule will implicitly approve (pass).Adds support for handling review comments like regular comments, thus allowing users to approve or disapprove without switching back to the "Conversation" tab of the pull request whilst reviewing the changes. Fixes #51.
users
fields (#255)Reviewer assignment now runs on all evaluations, meaning reviewers are correctly assigned when predicates change. Policy Bot will also re-request review if new approvals are needed after pushes. Otherwise, reviewers are requested once per rule and dismissed reviewers are not re-requested.
Approval rules can now have a description
field that appears in the details UI when viewing the status of a pull request. Policies may use this field to explain what the rule is for or who needs to approve instead of putting this information in a long rule name.
from_branch
predicate (#243)Policies can now use the from_branch
predicate to enable rules based on the source (head) branch of a pull request.
options.app_name
server configuration property (#233)