# # auto-label.yml # - Find all open issues without a label and a title containing "[BUG]". # - Apply the label "Bug: Potential ?" to these issues. # name: Label Old Bugs on: schedule: - cron: "30 8 * * *" jobs: autolabel: name: Auto Label if: github.repository == 'MarlinFirmware/Marlin' runs-on: ubuntu-latest steps: - name: Auto Label for [BUG] uses: actions/github-script@v5 with: script: | # Get all open issues in this repository const issueList = await github.rest.issues.listForRepo({ owner: context.repo.owner, repo: context.repo.repo, state: 'open' }); # Filter the list of issues to only those that don't have any labels # and have a title that contains '[BUG]'. Only the first 50 issues. const matchingIssues = issueList.data.filter( issue => issue.title.includes('[BUG]') && issue.labels.length === 0 ); # Process the first 50 for (const issue of matchingIssues.slice(0, 50)) { // Run the desired action on the issue // For example, to add a label: await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: issue.number, labels: ['Bug: Potential ?'] }); }