From dc8081b364643a70ec1af7619570792287c499ba Mon Sep 17 00:00:00 2001 From: Nalin Date: Sat, 26 Jul 2025 17:43:04 +0530 Subject: [PATCH 1/2] created yaml file for GitHub Action to close linked issues on PR merge to 2.0 --- .github/workflows/close-linked-issues.yml | 39 +++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/close-linked-issues.yml diff --git a/.github/workflows/close-linked-issues.yml b/.github/workflows/close-linked-issues.yml new file mode 100644 index 0000000000..de142cd7dc --- /dev/null +++ b/.github/workflows/close-linked-issues.yml @@ -0,0 +1,39 @@ +name: Close Linked Issues on PR Merge + +on: + pull_request: + types: + - closed + branches: + - 2.0 + - dev-2.0 + +jobs: + close_issues: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - name: Extract and Close Issues + uses: actions/github-script@v7 + with: + script: | + const prBody = context.payload.pull_request.body; + const issueRegex = /(Fixes|Resolves|Closes)\s+#(\d+)/gi; + let match; + while ((match = issueRegex.exec(prBody)) !== null) { + const issueNumber = parseInt(match[2], 10); + console.log(`Closing issue #${issueNumber}`); + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + body: `Closed by merged PR #${context.payload.pull_request.number}` + }); + await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + state: "closed" + }); + } + From a434538a6db754cba5fe2d21ec4fa984cacd0001 Mon Sep 17 00:00:00 2001 From: Nalin Date: Fri, 29 Aug 2025 23:10:34 +0530 Subject: [PATCH 2/2] chore(ci): replace inline issue-closing script with reusable Action --- .github/workflows/close-linked-issues.yml | 28 ++++------------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/.github/workflows/close-linked-issues.yml b/.github/workflows/close-linked-issues.yml index de142cd7dc..a9b6ac86d6 100644 --- a/.github/workflows/close-linked-issues.yml +++ b/.github/workflows/close-linked-issues.yml @@ -2,8 +2,7 @@ name: Close Linked Issues on PR Merge on: pull_request: - types: - - closed + types: [closed] branches: - 2.0 - dev-2.0 @@ -13,27 +12,8 @@ jobs: if: github.event.pull_request.merged == true runs-on: ubuntu-latest steps: - - name: Extract and Close Issues - uses: actions/github-script@v7 + - name: Close linked issues on non-default branches + uses: processing/branch-pr-close-issue@v1 with: - script: | - const prBody = context.payload.pull_request.body; - const issueRegex = /(Fixes|Resolves|Closes)\s+#(\d+)/gi; - let match; - while ((match = issueRegex.exec(prBody)) !== null) { - const issueNumber = parseInt(match[2], 10); - console.log(`Closing issue #${issueNumber}`); - await github.rest.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: issueNumber, - body: `Closed by merged PR #${context.payload.pull_request.number}` - }); - await github.rest.issues.update({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: issueNumber, - state: "closed" - }); - } + token: ${{ secrets.GITHUB_TOKEN }}