Modificando a Descrição do Jenkins para uma compilação

Eu gostaria deremotamente mude uma descrição da construção de Jenkins. Eu tenho meu script tudo pronto e pronto, exceto por um pequeno problema: várias descrições de linha.

Eu estou usando a API REST e JSON em Jenkins para baixar a descrição antiga:

old_description=$(curl -s --user "$USER:$PASSWORD" --data-urlencode "tree=description" \
    "$jenkins_url/job/$job_name/$build_number/api/json")

old_description=${old_description#*:\"} #Remove JSON garbage
old_description=${old_description%\"\}} #Remove JSON garbage

O comando `curl puxa para fora:

<font color=blue><b>At first you don't succeed. Try again</b></font><br/>
\r\n<font color=gold><b>At first you don't succeed. Try again</b></font><br/>
\r\n<font color=green><b>At first you don't succeed. Try again</b></font>

(Nota: Eu adicionei quebras de linha para tornar o acima mais fácil de ler. Isso é puxado como uma única linha).

o\r\n são linhas separadas, então eu faço isso:

old_description=$(sed 's/\\r\\n/\
/g' <<<$old_description)

E isso muda$old_description para:

font color=blue><b>At first you don't succeed. Try again</b></font><br/>
<font color=gold><b>At first you don't succeed. Try again</b></font><br/>
<font color=green><b>At first you don't succeed. Try again</b></font>

(NOTA: As novas linhas fazem parte do valor. Esta é uma descrição de três linhas.)

Meu programa (dependendo dos parâmetros da linha de comando) pode substituir, anexar ou acrescentar uma nova descrição à compilação:

if [ "$prepend_flag" -a -n "$old_description" ] #Prepend new description to old description
then
    new_description="$new_description<br/>
$old_description"
elif [ "$append_flag" -a -n "$old_description" ] #Append new description to old description
then
   new_description="$old_description<br/>
$new_description"
fi

Agora, vou refazer a descrição:

if curl -u $USER:$PASSWORD   --data-urlencode "description=$new_description" \
    --data-urlencode "Submit=Submit" \
    "$jenkins_url/job/$job_name/$build_number/submitDescription"
then
    echo "Description successfully changed on Build #$build_number in Jenkins job $job_name"
else
    echo "WARNING: Description was not set. Manually change the descripiton of the build"
    echo "         for Build #$build_number in Jenkins job $job_name"
fi

Se eu estou anexando ou anexando a nova descrição pela primeira vez, recebo isso em Jenkins:

<font color=blue><b>At first you don't succeed. Try again</b></font><br/>
<font color=gold><b>At first you don't succeed. Try again</b></font><br/>
<font color=green><b>At first you don't succeed. Try again</b></font><br/>
<font color=red><b>My new description</b></font><br/>

Parece legal. Da próxima vez, não funciona. Eu entendi isso:

<font color=blue><b>At first you don't succeed. Try again</b></font><br/>\n<font color=gold><b>At first you don't succeed. Try again</b></font><br/>\n<font color=green><b>At first you don't succeed. Try again</b></font><br/>\n<font color=red><b>My new description</b></font><br/>
<font color=blue><b>My new new description</b></font>

Note o\n aparecer.

Como posso corrigir esse problema?

Eu coloquei todo o programa empastebin.

questionAnswers(1)

yourAnswerToTheQuestion