From 3bcf9cc1dd4bbd296cbf10a02f8e67c893e5bb0b Mon Sep 17 00:00:00 2001 From: Anjaliavv51 <154777864+Anjaliavv51@users.noreply.github.com> Date: Thu, 25 Jul 2024 16:28:06 +0530 Subject: [PATCH] Automatic Label Addition #465 --- .github/workflows/auto-label-issues.yml | 43 +++++++++++++++++++++++++ .github/workflows/auto-label-pr.yml | 43 +++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 .github/workflows/auto-label-issues.yml create mode 100644 .github/workflows/auto-label-pr.yml diff --git a/.github/workflows/auto-label-issues.yml b/.github/workflows/auto-label-issues.yml new file mode 100644 index 0000000..9648740 --- /dev/null +++ b/.github/workflows/auto-label-issues.yml @@ -0,0 +1,43 @@ +name: Auto Label Issues +on: + issues: + types: [opened, edited] + +jobs: + label_issues: + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const issue = context.payload.issue; + const title = issue.title.toLowerCase(); + const body = issue.body.toLowerCase(); + + const labels = []; + + if (title.includes('gssoc') || body.includes('gssoc')) { + labels.push('GSSoC'); + } + + if (title.includes('enhancement') || body.includes('enhancement')) { + labels.push('Enhancement'); + } + + if (title.includes('bug') || body.includes('bug')) { + labels.push('Bug'); + } + + if (title.includes('documentation') || body.includes('documentation')) { + labels.push('Documentation'); + } + + if (labels.length > 0) { + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.name, + labels: labels + }); + } \ No newline at end of file diff --git a/.github/workflows/auto-label-pr.yml b/.github/workflows/auto-label-pr.yml new file mode 100644 index 0000000..f835bfa --- /dev/null +++ b/.github/workflows/auto-label-pr.yml @@ -0,0 +1,43 @@ +name: Auto Label PRs +on: + pull_request: + types: [opened, edited, synchronize] + +jobs: + label_prs: + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const pr = context.payload.pull_request; + const title = pr.title.toLowerCase(); + const body = pr.body ? pr.body.toLowerCase() : ''; + + const labels = []; + + if (title.includes('gssoc') || body.includes('gssoc')) { + labels.push('GSSoC'); + } + + if (title.includes('enhancement') || body.includes('enhancement')) { + labels.push('Enhancement'); + } + + if (title.includes('bug') || body.includes('bug')) { + labels.push('Bug'); + } + + if (title.includes('documentation') || body.includes('documentation')) { + labels.push('Documentation'); + } + + if (labels.length > 0) { + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.name, + labels: labels + }); + } \ No newline at end of file