|
76 | 76 | - name: Notify Slack on agent failure |
77 | 77 | if: steps.agent.outcome != 'success' |
78 | 78 | run: | |
79 | | - # Use jq to safely construct JSON payload |
80 | | - TASK="${{ github.event.client_payload.task || github.event.client_payload.original_task }}" |
81 | | - REQUESTER="${{ github.event.client_payload.requester }}" |
| 79 | + # Write event payload to JSON file to avoid shell quoting issues |
| 80 | + echo '${{ toJSON(github.event.client_payload) }}' > /tmp/event_payload.json |
| 81 | + |
| 82 | + # Extract values using jq (handles all escaping automatically) |
| 83 | + TASK=$(jq -r '.task // .original_task // "Unknown task"' /tmp/event_payload.json) |
| 84 | + REQUESTER=$(jq -r '.requester // "unknown"' /tmp/event_payload.json) |
82 | 85 | RUN_ID="${{ github.run_id }}" |
83 | 86 | |
84 | 87 | PAYLOAD=$(jq -n \ |
@@ -199,10 +202,14 @@ jobs: |
199 | 202 | - name: Notify Slack on success |
200 | 203 | if: steps.agent.outcome == 'success' && steps.tests.outcome == 'success' && steps.secrets-check.outcome == 'success' |
201 | 204 | run: | |
| 205 | + # Write event payload to JSON file to avoid shell quoting issues |
| 206 | + echo '${{ toJSON(github.event.client_payload) }}' > /tmp/event_payload.json |
| 207 | + |
| 208 | + # Extract values using jq (handles all escaping automatically) |
202 | 209 | CHANGED_FILES="${{ steps.changed-files.outputs.files }}" |
203 | | - TASK="${{ github.event.client_payload.task || github.event.client_payload.original_task }}" |
204 | | - ORIGINAL_TASK="${{ github.event.client_payload.original_task || 'N/A' }}" |
205 | | - REQUESTER="${{ github.event.client_payload.requester }}" |
| 210 | + TASK=$(jq -r '.task // .original_task // "Unknown task"' /tmp/event_payload.json) |
| 211 | + ORIGINAL_TASK=$(jq -r '.original_task // .task // "N/A"' /tmp/event_payload.json) |
| 212 | + REQUESTER=$(jq -r '.requester // "unknown"' /tmp/event_payload.json) |
206 | 213 | PR_NUMBER="${{ steps.cpr.outputs.pull-request-number }}" |
207 | 214 | RUN_ID="${{ github.run_id }}" |
208 | 215 | |
@@ -241,8 +248,12 @@ jobs: |
241 | 248 | - name: Notify Slack on validation failure |
242 | 249 | if: steps.agent.outcome == 'success' && steps.secrets-check.outcome != 'success' |
243 | 250 | run: | |
244 | | - TASK="${{ github.event.client_payload.task || github.event.client_payload.original_task }}" |
245 | | - REQUESTER="${{ github.event.client_payload.requester }}" |
| 251 | + # Write event payload to JSON file to avoid shell quoting issues |
| 252 | + echo '${{ toJSON(github.event.client_payload) }}' > /tmp/event_payload.json |
| 253 | + |
| 254 | + # Extract values using jq (handles all escaping automatically) |
| 255 | + TASK=$(jq -r '.task // .original_task // "Unknown task"' /tmp/event_payload.json) |
| 256 | + REQUESTER=$(jq -r '.requester // "unknown"' /tmp/event_payload.json) |
246 | 257 | RUN_ID="${{ github.run_id }}" |
247 | 258 | |
248 | 259 | PAYLOAD=$(jq -n \ |
@@ -277,8 +288,12 @@ jobs: |
277 | 288 | - name: Notify Slack on test failure |
278 | 289 | if: steps.agent.outcome == 'success' && steps.secrets-check.outcome == 'success' && steps.tests.outcome != 'success' |
279 | 290 | run: | |
280 | | - TASK="${{ github.event.client_payload.task || github.event.client_payload.original_task }}" |
281 | | - REQUESTER="${{ github.event.client_payload.requester }}" |
| 291 | + # Write event payload to JSON file to avoid shell quoting issues |
| 292 | + echo '${{ toJSON(github.event.client_payload) }}' > /tmp/event_payload.json |
| 293 | + |
| 294 | + # Extract values using jq (handles all escaping automatically) |
| 295 | + TASK=$(jq -r '.task // .original_task // "Unknown task"' /tmp/event_payload.json) |
| 296 | + REQUESTER=$(jq -r '.requester // "unknown"' /tmp/event_payload.json) |
282 | 297 | RUN_ID="${{ github.run_id }}" |
283 | 298 | |
284 | 299 | PAYLOAD=$(jq -n \ |
|
0 commit comments