diff --git a/.github/workflows/add-issue-to-project.yml b/.github/workflows/add-issue-to-project.yml index 0f49837..9cd4495 100644 --- a/.github/workflows/add-issue-to-project.yml +++ b/.github/workflows/add-issue-to-project.yml @@ -26,8 +26,9 @@ jobs: PROJECT_ID: "PVT_kwDOCjbMFM4AjuUh" ISSUE_NUMBER: ${{ github.event.issue.number }} run: | + echo "Fetching project item ID for issue number: $ISSUE_NUMBER" item_id=$(gh api graphql -f query=' - query($project:ID!, $number:Int!) { + query($project:ID!) { node(id: $project) { ... on ProjectV2 { items(first: 100) { @@ -42,18 +43,24 @@ jobs: } } } - }' -f project=$PROJECT_ID -F number=$ISSUE_NUMBER --jq '.data.node.items.nodes[] | select(.content.number == $ISSUE_NUMBER) | .id') - echo "PROJECT_ITEM_ID=$item_id" >> $GITHUB_OUTPUT + }' -f project=$PROJECT_ID --jq '.data.node.items.nodes[] | select(.content.number == $ISSUE_NUMBER) | .id') + if [ -z "$item_id" ]; then + echo "Error: Project item ID not found for issue number $ISSUE_NUMBER" + exit 1 + else + echo "Project item ID found: $item_id" + echo "PROJECT_ITEM_ID=$item_id" >> $GITHUB_OUTPUT + fi - name: Set component, type, and status env: GITHUB_TOKEN: ${{ secrets.ADD_TO_PROJECT_PAT }} PROJECT_ITEM_ID: ${{ steps.get-project-item-id.outputs.PROJECT_ITEM_ID }} run: | - echo "Project Item ID: ${PROJECT_ITEM_ID}" + echo "Setting fields for Project Item ID: ${PROJECT_ITEM_ID}" # Set component to "Profilarr" - gh api graphql -f query=' + result=$(gh api graphql -f query=' mutation($project:ID!, $item:ID!, $fieldId:ID!, $value:String!) { updateProjectV2ItemFieldValue(input: { projectId: $project @@ -67,10 +74,11 @@ jobs: id } } - }' -f project="PVT_kwDOCjbMFM4AjuUh" -f item="${PROJECT_ITEM_ID}" -f fieldId="PVTSSF_lADOCjbMFM4AjuUhzgcCr_E" -f value="48fc49c7" + }' -f project="PVT_kwDOCjbMFM4AjuUh" -f item="${PROJECT_ITEM_ID}" -f fieldId="PVTSSF_lADOCjbMFM4AjuUhzgcCr_E" -f value="48fc49c7") + echo "Set component result: $result" # Set status to "Backlog" - gh api graphql -f query=' + result=$(gh api graphql -f query=' mutation($project:ID!, $item:ID!, $fieldId:ID!, $value:String!) { updateProjectV2ItemFieldValue(input: { projectId: $project @@ -84,10 +92,12 @@ jobs: id } } - }' -f project="PVT_kwDOCjbMFM4AjuUh" -f item="${PROJECT_ITEM_ID}" -f fieldId="PVTSSF_lADOCjbMFM4AjuUhzgcCn8s" -f value="f75ad846" + }' -f project="PVT_kwDOCjbMFM4AjuUh" -f item="${PROJECT_ITEM_ID}" -f fieldId="PVTSSF_lADOCjbMFM4AjuUhzgcCn8s" -f value="f75ad846") + echo "Set status result: $result" # Get the label of the issue LABEL=$(gh api repos/${{ github.repository }}/issues/${{ github.event.issue.number }} --jq '.labels[0].name') + echo "Issue label: $LABEL" # Set issue type based on label ISSUE_TYPE_ID=$(case $LABEL in @@ -100,8 +110,11 @@ jobs: *) echo "" ;; esac) - if [ ! -z "$ISSUE_TYPE_ID" ]; then - gh api graphql -f query=' + if [ -z "$ISSUE_TYPE_ID" ]; then + echo "No matching issue type for label: $LABEL" + else + echo "Setting issue type to ID: $ISSUE_TYPE_ID" + result=$(gh api graphql -f query=' mutation($project:ID!, $item:ID!, $fieldId:ID!, $value:String!) { updateProjectV2ItemFieldValue(input: { projectId: $project @@ -115,5 +128,6 @@ jobs: id } } - }' -f project="PVT_kwDOCjbMFM4AjuUh" -f item="${PROJECT_ITEM_ID}" -f fieldId="PVTSSF_lADOCjbMFM4AjuUhzgcCswQ" -f value="$ISSUE_TYPE_ID" - fi \ No newline at end of file + }' -f project="PVT_kwDOCjbMFM4AjuUh" -f item="${PROJECT_ITEM_ID}" -f fieldId="PVTSSF_lADOCjbMFM4AjuUhzgcCswQ" -f value="$ISSUE_TYPE_ID") + echo "Set issue type result: $result" + fi