From 607f928a25cba6384981b157430ae5f7d2f3d97a Mon Sep 17 00:00:00 2001 From: Agents Agent Date: Mon, 29 Jun 2026 13:43:20 +0000 Subject: [PATCH] fix(ci): tolerate reserved project field names --- .github/workflows/project-board.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/project-board.yml b/.github/workflows/project-board.yml index ddc8125..cf040df 100644 --- a/.github/workflows/project-board.yml +++ b/.github/workflows/project-board.yml @@ -288,8 +288,9 @@ jobs: create_field() { local name="$1" local options="$2" + local create_json options="$(json_array_or "$options")" - gql ' + if ! create_json="$(gql ' mutation($projectId: ID!, $name: String!, $options: [ProjectV2SingleSelectFieldOptionInput!]) { createProjectV2Field(input: { projectId: $projectId @@ -301,7 +302,14 @@ jobs: ... on ProjectV2SingleSelectField { id name dataType options { id name color description } } } } - }' "$(jq -nc --arg projectId "$PROJECT_ID" --arg name "$name" --argjson options "$options" '{projectId: $projectId, name: $name, options: $options}')" >/dev/null + }' "$(jq -nc --arg projectId "$PROJECT_ID" --arg name "$name" --argjson options "$options" '{projectId: $projectId, name: $name, options: $options}')" 2>&1)"; then + if grep -Eq 'Name cannot have a reserved value|Name has already been taken' <<<"$create_json"; then + echo "::warning::Field '$name' was not created because GitHub reports the name is reserved or already taken." + return 0 + fi + printf '%s\n' "$create_json" >&2 + return 1 + fi } update_field() {