6
votes

Jenkins: $ {build_log, maxlines, escapehtml} ne fonctionne pas

J'essaie d'utiliser "$ {build_log, maxlines, escapeshtml}" comme DIRECT dans: Comment puis-je prendre 20 dernières lignes de La variable $ build_log?

Malheureusement, cela ne fonctionne pas pour moi. P>

Je reçois cette erreur: p>

script1.Groovy: 114: Attendre quoi que ce soit, mais '' \ n ''; Je l'ai fait quand même @ ligne 114, colonne 301. Arted par l'utilisateur MyAsername P> BlockQuote>

Mon code dans cette ligne est le suivant: P>

          msg.setText("This build (" + build.getFullDisplayName() 
          + " ) contains the following tasks:\n\nTASK\t\t\t  IMPLEMENTER:\n" 
          + taskList + "\n\n\nLink to this 
          build: ${BUILD_URL} \n ${BUILD_LOG, maxLines=9999, escapeHtml=false}" );


0 commentaires

4 Réponses :


0
votes

J'ai utilisé ci-dessous et ça va bien pour moi. XXX

J'ai essayé avec Jenkins version 1.617


1 commentaires

C'est exactement ce que j'ai écrit ...?! Et cela ne fonctionne pas pour moi avec: Jenkins Ver. 1.609.2 (LTS) Voir l'exemple ci-dessus ... J'ai aussi essayé avec moins de maxlines ... pas de changement



1
votes

Ce message d'erreur est généralement lié aux citations non fermées, Commentaires commencés par / code> au lieu de // code>, etc. dans votre code la seule chose que je peux voir, c'est que Votre troisième ligne n'est pas terminée correctement, c'est-à-dire après "\ n \ n \ nlink à ce code> Vous ne fermez pas la fermeture de citations doubles et que vous démarrez une nouvelle ligne (ainsi que le en attendant quoi que ce soit '' \ n '' code>.

Essayez d'écrire la ligne entière: p> xxx pré>

ou fermez les guillemets à la place: P>

msg.setText("This build (" + build.getFullDisplayName() 
          + " ) contains the following tasks:\n\nTASK\t\t\t  IMPLEMENTER:\n" 
          + taskList + "\n\n\nLink to this "
          + "build: ${BUILD_URL} \n ${BUILD_LOG, maxLines=9999, escapeHtml=false}" );


4 commentaires

Merci pour votre contribution. En fait, je l'ai fait, pour l'avoir lisible ici. En ce moment, tout est en une seule ligne. Donc, la citation "+ TaskList +" \ n \ n \ nlink "va jusqu'à la fin. Parce que j'avais la même pensée (plus ou moins), j'ai juste essayé de le résoudre différemment ...


Oui :( Même avec: $ {build_log} seul dans la chaîne.


Regardez que l'erreur dit "Colonne 301" ... rechercher une ligne assez longue dans votre script. Je suis sûr que cela a à voir avec des citations non fermées ... Mettre la ligne de trou ensemble (même avec des espaces blancs), je reçois seulement 265 caractères.


Vous avez raison, je n'ai jamais atteint cette longueur. Mais cela ne plait pas pourquoi sans que cela fonctionne. Pas de saumures ou de citations supplémentaires. Avez-vous essayé cela de votre côté? Je veux dire, j'ai passé un peu de temps à essayer et à fouiller les filets, avant de chercher mon si Pw et de demander ici ...: S



0
votes

Avez-vous essayé de définir escapehtml = true ? Il peut arriver que ce jeton s'est développé tel quel et puis une chaîne dans "" ne devient pas valide.


4 commentaires

Va essayer d'essayer :)


Malheureusement, je ne travaille pas non plus. Je pointe toujours à une colonne qui n'existe pas. et le "^" pointant vers le point d'erreur à mon nom d'utilisateur. J'ai vraiment eu de grands espoirs ici. Également essayé le contenu du courrier en tant que texte HTML et un texte brut ... pas de changement, dès que "$ {build_log, maxlines = 9999, Escapehtml = true}" est dans la chaîne ... merci même de lui donner une pensée ...


Peut-être essayez peut-être d'obtenir le contenu de Build_Log dans la variable et d'échapper à de nouvelles lignes avec .replace ("\\", "\\")? Ensuite, il ne devrait pas casser une chaîne dans settext () .


Désolé pour la réponse tardive, j'étais occupé avec d'autres choses. Cela ne me permet pas de "incorporer" le fichier journal comme pièce jointe comme celle-ci. Si j'utilise build_log_regex, je n'ai pas d'erreur, mais ni un journal attaché :(



0
votes

dans la dernière version de version $ {build_log} n'était pas disponible pour ME - Seule Solution Pour obtenir Connexion Courriel Contenu était pour moi Définition:

msg.setText(build.getLog())


0 commentaires