diff --git a/.github/actions/extract-issue-fields/action.yml b/.github/actions/extract-issue-fields/action.yml index bf98b93f..b97803ab 100644 --- a/.github/actions/extract-issue-fields/action.yml +++ b/.github/actions/extract-issue-fields/action.yml @@ -48,36 +48,49 @@ runs: - name: Display parsed data shell: bash run: | - echo ${{ toJSON(steps.parse.outputs.data) }} | jq . + cat <<'EOF' | jq . + ${{ steps.parse.outputs.data }} + EOF - name: Extract fields id: extract shell: bash run: | - instance_flavor=$(echo ${{ toJSON(steps.parse.outputs.data) }} | \ - jq -r '."cloud-computing-instance-flavor".text | split(" - ")[0]') + instance_flavor=$( + cat <<'EOF' | \ + jq -r '."cloud-computing-instance-flavor".text | split(" - ")[0]' + ${{ steps.parse.outputs.data }} + EOF) echo "instance_flavor [$instance_flavor]" echo "instance_flavor=$instance_flavor" >> $GITHUB_OUTPUT orcid=$( - echo ${{ toJSON(steps.parse.outputs.data) }} | + cat <<'EOF' | \ jq -r ".orcid.text" + ${{ steps.parse.outputs.data }} + EOF ) + echo "orcid [$orcid]" echo "orcid=$orcid" >> $GITHUB_OUTPUT # Also strip "<" and ">" to convert from "" to "name@domain.org" email=$( - echo ${{ toJSON(steps.parse.outputs.data) }} | - jq -r ".email.text" | + cat <<'EOF' | \ + jq -r ".email.text" | \ sed -E 's/^<([^<>]+)>$/\1/' + ${{ steps.parse.outputs.data }} + EOF ) + echo "email [$email]" echo "email=$email" >> $GITHUB_OUTPUT # Also strip "<" and ">" to convert from "" to "name@domain.org" confirm_email=$( - echo ${{ toJSON(steps.parse.outputs.data) }} | - jq -r '."confirm-email".text // empty' | + cat <<'EOF' | \ + jq -r '."confirm-email".text // empty' | \ sed -E 's/^<([^<>]+)>$/\1/' + ${{ steps.parse.outputs.data }} + EOF ) # If the "Confirm Email" field is missing (e.g., in older issues), @@ -86,4 +99,5 @@ runs: confirm_email="$email" fi + echo "confirm_email [$confirm_email]" echo "confirm_email=$confirm_email" >> $GITHUB_OUTPUT