aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/automation_request_changes_message.yml
blob: 448485322408e6e914f9edd921ee7ac8568d9ac5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
name: PR Request Changes Message
on:
  pull_request_review:
    types: [submitted]

jobs:
  comment:
    runs-on: ubuntu-latest
    steps:
      - name: Check Previous Reviews
        id: check
        uses: actions/github-script@v7
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |
            const pr = context.payload.pull_request;
            const review = context.payload.review;
            const reviews = await github.rest.pulls.listReviews({
              owner: context.repo.owner,
              repo: context.repo.repo,
              pull_number: pr.number,
            });
            const changesRequestedReviews = reviews.data.filter((review) => review.state === 'CHANGES_REQUESTED');
            const firstTimeChangesRequested = changesRequestedReviews.length === 1;
            return firstTimeChangesRequested;

      - name: Comment on PR
        uses: actions/github-script@v7
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |
            const runPreviousCheckStep = steps.check.outputs.result
            const pr = context.payload.pull_request;
            if (runPreviousCheckStep === 'true') {
              github.rest.issues.createComment({
                owner: context.repo.owner,
                repo: context.repo.repo,
                issue_number: pr.number,
                body: 'Please make sure to **re-request review** after making any changes or answering any questions'
              });
            }