Skip to content

Update README.md

Update README.md #14

Workflow file for this run

name: "Pick Reviewer"
on:
pull_request_target:
types: opened
branches: develop
jobs:
pick-random-reviewer:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Pick random reviewer
id: pick_random_reviewer
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require('fs');
const developers = JSON.parse(fs.readFileSync(`${{ github.workspace }}/.github/workflows/reviewer.json`));
const prCreator = github.event.pull_request.assignee.login;
const prUrl = github.event.pull_request.html_url;
const prCreatorJson = developers.find(person => person.githubName === prCreator);
if (developers.length <= 1) {
core.setOutput('reviewers', [prCreatorJson.name]);
core.setOutput('writer', prCreatorJson.name);
core.setOutput('pullRequestLink', prUrl);
} else {
const candidateInternalReviewers = developers.filter(person => person.team === prCreatorJson.team);
const candidateExternalReviewers = developers.filter(person => person.team !== prCreatorJson.team);
const randomReviewer = candidateInternalReviewers[Math.floor(Math.random() * candidateInternalReviewers.length)].name;
const randomReviewer2 = candidateExternalReviewers[Math.floor(Math.random() * candidateExternalReviewers.length)].name;
core.setOutput('reviewers', [randomReviewer, randomReviewer2]);
core.setOutput('writer', prCreatorJson.name);
core.setOutput('pullRequestLink', prUrl);
}
- name: Add Pull Request Reviewer
uses: madrapps/add-reviewers@v1
with:
reviewers: ${{ steps.pick_random_reviwer.outputs.reviewers[0] }}, ${{ steps.pick_random_reviwer.outputs.reviewers[1] }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: Send Slack Trigger
run: |
curl -X POST https://api-slack.internal.bcsdlab.com/api/review-request/front \
-H 'Content-Type: application/json' \
-d '{ "pullRequestLink": "${{ steps.pick_random_reviewer.outputs.pullRequestLink }}", \
"writer": "${{ steps.pick_random_reviewer.outputs.writer }}", \
"reviewers": "${{steps.pick_random_reviwer.outputs.reviewers}}" }'