diff --git a/.github/workflows/prmerged.yaml b/.github/workflows/prmerged.yaml index 12a80a8..1dc2622 100644 --- a/.github/workflows/prmerged.yaml +++ b/.github/workflows/prmerged.yaml @@ -8,24 +8,35 @@ jobs: on-merge: runs-on: ubuntu-latest if: ${{ github.event.pull_request.merged == true }} + permissions: + contents: read steps: - name: Get Pull Request Data id: get-pr-data - env: - PULL_REQUEST_OWNER: ${{ github.event.pull_request.user.login }} - PULL_REQUEST_LABELS: ${{ join(github.event.pull_request.labels.*.name, ', ') }} - REPOSITORY_NAME: ${{ github.event.repository.name }} - REPOSITORY_URL: ${{ github.event.repository.html_url }} run: | - echo "::set-output name=owner::$PULL_REQUEST_OWNER" - echo "::set-output name=labels::$PULL_REQUEST_LABELS" - echo "::set-output name=repo_name::$REPOSITORY_NAME" - echo "::set-output name=repo_url::$REPOSITORY_URL" + echo "owner=${{ github.event.pull_request.user.login }}" >> $GITHUB_OUTPUT + echo "labels=${{ join(github.event.pull_request.labels.*.name, ', ') }}" >> $GITHUB_OUTPUT + echo "repo_name=${{ github.event.repository.name }}" >> $GITHUB_OUTPUT + echo "repo_url=${{ github.event.repository.html_url }}" >> $GITHUB_OUTPUT - name: Send Data to API env: API_URL: https://opcode.gymkhana.iiitbh.ac.in/api/prmerged API_AUTH_TOKEN: ${{ secrets.API_AUTH_TOKEN }} + OWNER: ${{ steps.get-pr-data.outputs.owner }} + LABELS: ${{ steps.get-pr-data.outputs.labels }} + REPO_NAME: ${{ steps.get-pr-data.outputs.repo_name }} + REPO_URL: ${{ steps.get-pr-data.outputs.repo_url }} run: | - payload=$(echo '{"owner":"${{ steps.get-pr-data.outputs.owner }}","labels":"${{ steps.get-pr-data.outputs.labels }}","repository_name":"${{ steps.get-pr-data.outputs.repo_name }}","repository_url":"${{ steps.get-pr-data.outputs.repo_url }}"}') - curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $API_AUTH_TOKEN" -d "$payload" "$API_URL" + payload=$(jq -n \ + --arg owner "$OWNER" \ + --arg labels "$LABELS" \ + --arg repo_name "$REPO_NAME" \ + --arg repo_url "$REPO_URL" \ + '{owner: $owner, labels: $labels, repository_name: $repo_name, repository_url: $repo_url}') + + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $API_AUTH_TOKEN" \ + -d "$payload" \ + "$API_URL"