| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- name: Add Issue to Board
- on:
- issues:
- types: [opened]
- jobs:
- track_issue:
- 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: 3) {
- 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 'TODO_OPTION_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name=="Todo") |.id' project_data.json) >> $GITHUB_ENV
- - name: Add issue to project
- env:
- GITHUB_TOKEN: ${{ secrets.PAT }}
- ISSUE_ID: ${{ github.event.issue.node_id }}
- run: |
- item_id="$( gh api graphql -f query='
- mutation($project:ID!, $issue:ID!) {
- addProjectV2ItemById(input: {projectId: $project, contentId: $issue}) {
- item {
- id
- }
- }
- }' -f project=$PROJECT_ID -f issue=$ISSUE_ID --jq '.data.addProjectV2ItemById.item.id')"
- echo 'ITEM_ID='$item_id >> $GITHUB_ENV
|