| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- name: Add PR to Board
- on:
- pull_request_target:
- types: [opened, synchronize, ready_for_review, review_requested]
- jobs:
- track_pr:
- runs-on: ubuntu-latest
- steps:
- - name: Get project data
- env:
- GITHUB_TOKEN: ${{ secrets.PAT }}
- run: |
- gh api graphql -f query='
- query {
- organization(login: "revoltchat"){
- projectV2(number: 5) {
- id
- fields(first:20) {
- nodes {
- ... on ProjectV2SingleSelectField {
- id
- name
- options {
- id
- name
- }
- }
- }
- }
- }
- }
- }' > project_data.json
- echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV
- echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV
- echo 'INCOMING_OPTION_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name=="🆕 Untriaged") |.id' project_data.json) >> $GITHUB_ENV
- - name: Add PR to project
- env:
- GITHUB_TOKEN: ${{ secrets.PAT }}
- PR_ID: ${{ github.event.pull_request.node_id }}
- run: |
- item_id="$( gh api graphql -f query='
- mutation($project:ID!, $pr:ID!) {
- addProjectV2ItemById(input: {projectId: $project, contentId: $pr}) {
- item {
- id
- }
- }
- }' -f project=$PROJECT_ID -f pr=$PR_ID --jq '.data.addProjectV2ItemById.item.id')"
- echo 'ITEM_ID='$item_id >> $GITHUB_ENV
- - name: Set fields
- env:
- GITHUB_TOKEN: ${{ secrets.PAT }}
- run: |
- gh api graphql -f query='
- mutation (
- $project: ID!
- $item: ID!
- $status_field: ID!
- $status_value: String!
- ) {
- set_status: updateProjectV2ItemFieldValue(input: {
- projectId: $project
- itemId: $item
- fieldId: $status_field
- value: {
- singleSelectOptionId: $status_value
- }
- }) {
- projectV2Item {
- id
- }
- }
- }' -f project=$PROJECT_ID -f item=$ITEM_ID -f status_field=$STATUS_FIELD_ID -f status_value=${{ env.INCOMING_OPTION_ID }} --silent
|