Jenkins enumera las twigs antiguas cuando envía un correo electrónico

Nuestra compañía usa Jenkins para implementar nuestro sistema de testing que incluye los últimos parches, para que puedan ser probados. Todo está automatizado y dividido en varios pasos. Un paso comtesting las sucursales (usando GIT) en references / controles remotos / origen que incluyen una palabra key específica ( desplegar en este caso). Todas las twigs que incluyen esta palabra key se escriben en el correo electrónico para que los otros departamentos las puedan ver.

Sin embargo, por alguna razón, las twigs antiguas también se enumeran en el correo electrónico, lo que por supuesto causa confusión. Se supone que Jenkins elimina estas twigs desplegadas, lo que hace, pero al volver a implementarlo, de alguna manera agrega esas antiguas twigs al correo.

Así es como se ve este paso de compilation:

def refs = "git for-each-ref --format=%(refname) refs/remotes/origin/*_todeploy_*".execute( null, workingDir ) refs.waitFor() def patches = "" def subject = "Tickets included in deployment ( " def adresses = "random@email.com," refs.text.eachLine { patches += "<li>"+it.substring(it.lastIndexOf('MyTickets'),it.length())+"</li>" subject += it.substring(it.lastIndexOf('-')+1,it.length())+" " } String content = "<html><body>"+ "Following tickets will be ready for testing shortly:"+ "<ul>"+patches+"</ul>" 

Y el resultado es algo así como:

  • MyTicket 123
  • MyTicket 456
  • MyTicket 789

y esta list sigue creciendo en cada implementación, en lugar de no include los nombres de las sucursales ya desplegados