Skip to content

Commit 3a2f600

Browse files
gr2madzienis
andauthored
feat: add reviewers (#482)
Co-authored-by: Arthur Dzieniszewski <[email protected]>
1 parent 220e0d8 commit 3a2f600

File tree

5 files changed

+58
-0
lines changed

5 files changed

+58
-0
lines changed

.github/workflows/debug.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ jobs:
2222
path: "test.txt"
2323
commit-message: "debug"
2424
author: "Gregor Martynus <[email protected]>"
25+
reviewers: gr2m

.github/workflows/test.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,3 +209,39 @@ jobs:
209209
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
210210
- if: ${{ fromJson(steps.get-pull-request.outputs.data).title != 'Updated test pull request' }}
211211
run: 'echo "Pull request title is \"${{ fromJson(steps.get-pull-request.outputs.data).title }}\" but expected \"Updated test pull request\"" && exit 1'
212+
213+
addReviewers:
214+
name: "[TEST] Add Reviewers"
215+
runs-on: ubuntu-latest
216+
steps:
217+
- uses: actions/checkout@v2
218+
with:
219+
persist-credentials: false
220+
- run: "date > test.txt"
221+
- run: "npm ci"
222+
- run: "npm run build"
223+
- uses: ./
224+
id: run
225+
env:
226+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
227+
ACTIONS_STEP_DEBUG: true
228+
with:
229+
title: Test Add Reviewers
230+
body: This pull request is part of the CI - please ignore.
231+
branch: test-add-reviewers-${{ github.run_number }}
232+
commit-message: "Just testing [skip ci]"
233+
reviewers: gr2m
234+
- uses: octokit/[email protected]
235+
id: get-pull-request
236+
with:
237+
route: GET /repos/{owner}/{repo}/pulls/{pull_number}
238+
owner: gr2m
239+
repo: create-or-update-pull-request-action
240+
pull_number: ${{ steps.run.outputs.pull-request-number }}
241+
env:
242+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
243+
- run: "git push https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git :test-add-reviewers-${{ github.run_number }}"
244+
env:
245+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
246+
- if: ${{ !contains(toJson(fromJson(steps.get-pull-request.outputs.data).requested_reviewers.*.login), 'gr2m') }}
247+
run: 'echo "Requested reviewers are \"${{ toJson(fromJson(steps.get-pull-request.outputs.data).requested_reviewers.*.login) }}\" but expected \"[\n gr2m \n]\"" && exit 1'

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ with:
4343
author: "Lorem J. Ipsum <[email protected]>"
4444
labels: label1, label2
4545
assignees: user1, user2
46+
reviewers: user1, user2
4647
auto-merge: squash
4748
update-pull-request-title-and-body: false
4849
```

action.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ inputs:
3636
assignees:
3737
description: Comma separated list of assignees to apply to the pull request
3838
required: false
39+
reviewers:
40+
description: Comma separated list of reviewers to apply to the pull request
41+
required: false
3942
auto-merge:
4043
description: "Enable auto merge for pull request. Requires auto merging to be enabled in repository settings"
4144
required: false

index.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ async function main() {
5252
author: core.getInput("author"),
5353
labels: core.getInput("labels"),
5454
assignees: core.getInput("assignees"),
55+
reviewers: core.getInput("reviewers"),
5556
autoMerge: core.getInput("auto-merge"),
5657
updatePRTitleAndBody: core.getInput("update-pull-request-title-and-body"),
5758
};
@@ -221,6 +222,22 @@ async function main() {
221222
core.info(`Assignees added: ${assignees.join(", ")}`);
222223
core.debug(inspect(data));
223224
}
225+
226+
if (inputs.reviewers) {
227+
core.debug(`Adding reviewers: ${inputs.reviewers}`);
228+
const reviewers = inputs.reviewers.trim().split(/\s*,\s*/);
229+
const { data } = await octokit.request(
230+
`POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`,
231+
{
232+
owner,
233+
repo,
234+
pull_number: number,
235+
reviewers,
236+
}
237+
);
238+
core.info(`Reviewers added: ${reviewers.join(", ")}`);
239+
core.debug(inspect(data));
240+
}
224241

225242
if (inputs.autoMerge) {
226243
const query = `

0 commit comments

Comments
 (0)