chore: adds an action to assign reviewers from requested reviewers(#5642)

This commit is contained in:
alschmiedt
2021-10-29 15:44:33 -07:00
committed by GitHub
parent f4e7249b1a
commit cfb995c073
3 changed files with 48 additions and 1 deletions

19
.github/workflows/assign_reviewers.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: Assign requested reviewers
on:
pull_request:
types: [review_requested]
jobs:
requested-reviewer:
runs-on: ubuntu-latest
steps:
- name: Check Out Blockly
uses: actions/checkout@v2
- name: Assign requested reviewer
uses: actions/github-script@v5
with:
script: |
const {assign} = require('./.github/workflows/scripts/assign_reviewers.js')
assign(github, context, core)

View File

@@ -1,4 +1,5 @@
name: test-clang-format
name: Check clang format
on: [pull_request]
jobs:

View File

@@ -0,0 +1,27 @@
/**
* This script adds requested reviewers as assignees. If you remove a requested
* reviewer, it will not remove them as an assignee.
*
* See https://github.com/google/blockly/issues/5643 for more information on
* why this was added.
*/
exports.assign = function(github, context, core) {
try {
if (context.payload.pull_request === undefined) {
throw new Error("Can't get pull_request payload. Check a request reviewer event was triggered.");
}
const reviewers = context.payload.pull_request.requested_reviewers;
// Assignees takes in a list of logins rather than the reviewer object.
const reviewerNames = reviewers.map(reviewer => reviewer.login);
const {number:issue_number} = context.payload.pull_request;
github.rest.issues.addAssignees({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue_number,
assignees: reviewerNames
});
} catch (error) {
core.setFailed(error.message);
}
}