name: Close Discussion on PR Merge on: pull_request: types: [closed] jobs: closeDiscussion: runs-on: ubuntu-latest steps: - name: Check if PR was merged if: github.event.pull_request.merged == true run: echo "PR was merged" - name: Extract Discussion Number if: github.event.pull_request.merged == true id: extract-discussion run: | echo "::set-output name=discussion::$(echo "${{ github.event.pull_request.body }}" | grep -oP '(?<=Resolves #)\d+')" shell: bash - name: Close the discussion if: github.event.pull_request.merged == true && steps.extract-discussion.outputs.discussion env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DISCUSSION_ID: ${{ steps.extract-discussion.outputs.discussion }} run: | curl -X PATCH -H "Authorization: token $GITHUB_TOKEN" \ -d '{"state": "closed"}' \ "https://api.github.com/repos/${{ github.repository }}/discussions/${DISCUSSION_ID}"