From 657d2b9c4892d9808152c577a2c2310fdae6dd84 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Thu, 8 Feb 2024 14:09:07 +0100 Subject: [PATCH] ci: remove reviewers when drafting or closing a PR --- .github/scripts/reviewers_remove.js | 16 ++++++++++++++++ .github/workflows/reviewers_remove.yml | 17 +++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 .github/scripts/reviewers_remove.js create mode 100644 .github/workflows/reviewers_remove.yml diff --git a/.github/scripts/reviewers_remove.js b/.github/scripts/reviewers_remove.js new file mode 100644 index 00000000..9e44e4ac --- /dev/null +++ b/.github/scripts/reviewers_remove.js @@ -0,0 +1,16 @@ +module.exports = async ({ github, context }) => { + const requestedReviewers = await github.rest.pulls.listRequestedReviewers({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.issue.number, + }); + + const reviewers = requestedReviewers.data.users.map((e) => e.login); + + github.rest.pulls.removeRequestedReviewers({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.issue.number, + reviewers: reviewers, + }); +}; diff --git a/.github/workflows/reviewers_remove.yml b/.github/workflows/reviewers_remove.yml new file mode 100644 index 00000000..b10d8c3d --- /dev/null +++ b/.github/workflows/reviewers_remove.yml @@ -0,0 +1,17 @@ +name: "reviewers: remove" +on: + pull_request_target: + types: [converted_to_draft, closed] +jobs: + remove-reviewers: + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: actions/checkout@v4 + - name: 'Remove reviewers' + uses: actions/github-script@v7 + with: + script: | + const script = require('./.github/scripts/reviewers_remove.js') + await script({github, context})