3535 PROJECT_TITLE : ${{ inputs.project_title }}
3636 FIELD_NAME : ${{ inputs.field_name }}
3737 run : |
38- set -e
38+ set -euo pipefail
3939
4040 OWNER=$(echo "$REPO" | cut -d/ -f1)
4141 REPO_NAME=$(echo "$REPO" | cut -d/ -f2)
@@ -44,15 +44,15 @@ jobs:
4444 PROJECT_ID=$(gh api graphql -F owner="$OWNER" -F name="$REPO_NAME" -F projectTitle="$PROJECT_TITLE" -f query='
4545 query($owner: String!, $name: String!, $projectTitle: String!) {
4646 repository(owner: $owner, name: $name) {
47- projectsV2(first: 10, query: $projectTitle ) {
47+ projectsV2(first: 10) {
4848 nodes {
4949 id
5050 title
5151 }
5252 }
5353 }
5454 }
55- ' | jq -r '.data.repository.projectsV2.nodes[] | select(.title == env.PROJECT_TITLE ) | .id')
55+ ' | jq -r --arg title "$PROJECT_TITLE" '.data.repository.projectsV2.nodes[] | select(.title == $title ) | .id')
5656
5757 if [ -z "$PROJECT_ID" ]; then
5858 echo "Project not found: $PROJECT_TITLE"
@@ -66,27 +66,31 @@ jobs:
6666 query ($projectId: ID!) {
6767 node(id: $projectId) {
6868 ... on ProjectV2 {
69- fields(first: 20 ) {
69+ fields(first: 50 ) {
7070 nodes {
71- id
72- name
71+ ... on ProjectV2Field {
72+ id
73+ name
74+ }
7375 }
7476 }
7577 }
7678 }
7779 }
78- ' -F projectId="$PROJECT_ID" | jq -r '.data.node.fields.nodes[] | select(.name==env.FIELD_NAME ) | .id')
80+ ' -F projectId="$PROJECT_ID" | jq -r --arg field "$FIELD_NAME" '.data.node.fields.nodes[] | select(.name == $field ) | .id')
7981
8082 if [ -z "$FIELD_ID" ]; then
8183 echo "Field (column) not found: $FIELD_NAME"
8284 exit 1
8385 fi
8486
85- echo "Field ID found: $FIELD_ID"
87+ echo "✅ Field ID found: $FIELD_ID"
8688
87- echo "Creating a new project card ..."
89+ echo "Creating a new draft issue item in the project ..."
8890
89- CREATE_CARD_MUTATION='
91+ CONTENT="**${ISSUE_TITLE}** - [Original Issue](${ISSUE_URL})"
92+
93+ CREATE_ITEM_RESULT=$(gh api graphql -f query='
9094 mutation ($projectId: ID!, $title: String!) {
9195 addProjectV2ItemByDraftIssue(input: {
9296 projectId: $projectId,
@@ -97,18 +101,14 @@ jobs:
97101 }
98102 }
99103 }
100- '
101-
102- CONTENT="**${ISSUE_TITLE}** - [Original Issue](${ISSUE_URL})"
103-
104- RESULT=$(gh api graphql -f query="$CREATE_CARD_MUTATION" -F projectId="$PROJECT_ID" -F title="$CONTENT")
104+ ' -F projectId="$PROJECT_ID" -F title="$CONTENT")
105105
106- ITEM_ID=$(echo "$RESULT " | jq -r '.data.addProjectV2ItemByDraftIssue.item.id')
106+ ITEM_ID=$(echo "$CREATE_ITEM_RESULT " | jq -r '.data.addProjectV2ItemByDraftIssue.item.id')
107107
108- if [ -z "$ITEM_ID" ] || [ "$ITEM_ID" = "null" ]; then
109- echo "Failed to create project card ."
110- echo "$RESULT "
108+ if [ -z "$ITEM_ID" ] || [ "$ITEM_ID" == "null" ]; then
109+ echo "Failed to create project item ."
110+ echo "$CREATE_ITEM_RESULT "
111111 exit 1
112112 fi
113113
114- echo "Project card created successfully with ID: $ITEM_ID"
114+ echo "Project card created with ID: $ITEM_ID"
0 commit comments