Fix: corretti caratteri \n letterali nei commenti di triage
- Esempio JSON nel prompt: corretto da \\n a \n (doppio escape ingannava il LLM) - Aggiunto safety net con printf '%b' su COMMENT e MD_CONTENT dopo jq - LINK_MD: sostituiti doppi apici con printf per interpretare correttamente i newline
This commit is contained in:
@@ -94,7 +94,7 @@ runs:
|
|||||||
'- "bug": malfunzionamento, errore, crash, anomalia, comportamento inaspettato' \
|
'- "bug": malfunzionamento, errore, crash, anomalia, comportamento inaspettato' \
|
||||||
'- "richiesta": nuova funzionalità, miglioramento, refactoring, ottimizzazione, o dubbio' \
|
'- "richiesta": nuova funzionalità, miglioramento, refactoring, ottimizzazione, o dubbio' \
|
||||||
"Rispondi ESCLUSIVAMENTE con un JSON valido su una SINGOLA riga, senza nessun altro testo:" \
|
"Rispondi ESCLUSIVAMENTE con un JSON valido su una SINGOLA riga, senza nessun altro testo:" \
|
||||||
'{"label":"bug","comment":"**Riassunto**: ...\\n\\n**Gap analisi**: codice mancante...\\n\\n**Domande aperte**:\\n1. ...","md":"# Analisi tecnica\\n\\n## Codice coinvolto\\n..."}' \
|
'{"label":"bug","comment":"**Riassunto**: ...\n\n**Gap analisi**: codice mancante...\n\n**Domande aperte**:\n1. ...","md":"# Analisi tecnica\n\n## Codice coinvolto\n..."}' \
|
||||||
"Il campo 'comment' deve contenere: riassunto della issue, gap analisi (cosa manca rispetto al codice), domande aperte. Usa \\n per i newline." \
|
"Il campo 'comment' deve contenere: riassunto della issue, gap analisi (cosa manca rispetto al codice), domande aperte. Usa \\n per i newline." \
|
||||||
"Il campo 'md' deve contenere: analisi tecnica completa in formato markdown, file/moduli coinvolti, ipotesi root cause, proposta di fix. Usa \\n per i newline." \
|
"Il campo 'md' deve contenere: analisi tecnica completa in formato markdown, file/moduli coinvolti, ipotesi root cause, proposta di fix. Usa \\n per i newline." \
|
||||||
"Titolo" "${{ inputs.issue-title }}" \
|
"Titolo" "${{ inputs.issue-title }}" \
|
||||||
@@ -117,8 +117,10 @@ runs:
|
|||||||
MD_CONTENT=""
|
MD_CONTENT=""
|
||||||
else
|
else
|
||||||
LABEL=$(echo "$JSON" | jq -r '.label // "richiesta"')
|
LABEL=$(echo "$JSON" | jq -r '.label // "richiesta"')
|
||||||
COMMENT=$(echo "$JSON" | jq -r '.comment // "Classificazione automatica."' | sed 's/\\n/\n/g')
|
COMMENT=$(echo "$JSON" | jq -r '.comment // "Classificazione automatica."')
|
||||||
MD_CONTENT=$(echo "$JSON" | jq -r '.md // ""' | sed 's/\\n/\n/g')
|
COMMENT=$(printf '%b' "$COMMENT")
|
||||||
|
MD_CONTENT=$(echo "$JSON" | jq -r '.md // ""')
|
||||||
|
MD_CONTENT=$(printf '%b' "$MD_CONTENT")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$LABEL" in
|
case "$LABEL" in
|
||||||
@@ -163,10 +165,7 @@ runs:
|
|||||||
-F "attachment=@${MD_FILE};filename=triage-issue-${ISSUE_NUM}.md" 2>/dev/null)
|
-F "attachment=@${MD_FILE};filename=triage-issue-${ISSUE_NUM}.md" 2>/dev/null)
|
||||||
ASSET_URL=$(echo "$ASSET_RESP" | jq -r '.browser_download_url // empty' 2>/dev/null)
|
ASSET_URL=$(echo "$ASSET_RESP" | jq -r '.browser_download_url // empty' 2>/dev/null)
|
||||||
if [ -n "$ASSET_URL" ] && [ "$ASSET_URL" != "null" ]; then
|
if [ -n "$ASSET_URL" ] && [ "$ASSET_URL" != "null" ]; then
|
||||||
LINK_MD="
|
printf -v LINK_MD '\n\n---\n📎 **Analisi tecnica completa**: [triage-issue-%s.md](%s)' "$ISSUE_NUM" "$ASSET_URL"
|
||||||
|
|
||||||
---
|
|
||||||
📎 **Analisi tecnica completa**: [triage-issue-${ISSUE_NUM}.md](${ASSET_URL})"
|
|
||||||
echo "Asset MD caricato: $ASSET_URL"
|
echo "Asset MD caricato: $ASSET_URL"
|
||||||
else
|
else
|
||||||
echo "WARN: Impossibile caricare il file MD come asset"
|
echo "WARN: Impossibile caricare il file MD come asset"
|
||||||
|
|||||||
Reference in New Issue
Block a user