name: Maintenance Bot on: pull_request_target: types: [opened, reopened, edited, ready_for_review, unlabeled] jobs: labeler: name: Assign labels and milestone if: github.repository_owner == 'galaxyproject' permissions: contents: read issues: write pull-requests: write runs-on: ubuntu-latest env: MILESTONE_NUMBER: 33 steps: - name: Get latest pull request labels id: get_pr_labels uses: actions/github-script@v8 with: script: | const response = await github.rest.issues.listLabelsOnIssue({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, }); console.log(response); return response.data; - name: Add area labels if: ${{ ! contains(join(fromJSON(steps.get_pr_labels.outputs.result).*.name, ', '), 'area/') }} uses: actions/labeler@v6 - name: Assign milestone if: | ! github.event.pull_request.milestone && ! contains(github.event.pull_request.labels.*.name, 'merge') && ! contains(github.event.pull_request.labels.*.name, 'status/WIP') && ! contains(github.event.pull_request.title, 'WIP') && ! github.event.pull_request.draft uses: actions/github-script@v8 with: script: | github.rest.issues.update({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, milestone: ${{ env.MILESTONE_NUMBER }}, });