Skip to content

workflow approver #3608

workflow approver

workflow approver #3608

Workflow file for this run

name: "Labels: Approve"
on:
pull_request:
types: [edited]
jobs:
remove_label:
runs-on: ubuntu-latest
steps:
- name: check all reviewers
id: check_approvals
uses: actions/github-script@v6
with:
github-token: ${{ secrets.URPRICE_PAT }}
script: |
console.log('L:A verby 1502 23022025');
const { data: reviews } = await github.rest.pulls.listReviews({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.payload.pull_request.number,
});
const requiredApprovals = context.payload.pull_request.requested_reviewers.length;
const approvedReviews = reviews.filter(review => review.state === 'APPROVED').length;
return approvedReviews >= requiredApprovals;
- name: rm labels
if: steps.check_approvals.outputs.result == 'true'
uses: actions/github-script@v6
with:
github-token: ${{ secrets.URPRICE_PAT }}
script: |
const labelsToRemove = ['Status: Needs Review', 'Status: Awaiting Changes'];
const currentLabels = context.payload.pull_request.labels.map(label => label.name);
for (const label of labelsToRemove) {
if (currentLabels.includes(label)) {
await github.request('DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}', {
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
name: label,
});
}
}