Existe-t-il une variable intégrée donnant accès au texte de la construction en cours d'exécution?
J'ai essayé d'utiliser quelque chose comme currentBuild.log
, currentBuild.buildLog
mais sans aucune chance.
En réalité, il est possible d'utiliser currentBuild.rawBuild.log
ou mieux (non obsolète) currentBuild.rawBuild.getLog(100)
(pour les 100 dernières lignes), référence: http://javadoc.jenkins-ci.org/hudson/model/Run.html#getLog-int-
J'ai beaucoup cherché une solution pour analyser le journal.
rawBuild
n'était pas correct, car je souhaite exécuter mes scripts dans un bac à sable sans approbations supplémentairestee
dans les étapes, ce que je veux analyser n’était pas correct, car je ne souhaite pas modifier les étapes précédentes, et je ne souhaite pas que tout mon journal soit enregistré dans RAM que sur une machine Windows)J'ai trouvé une solution inspirée par Jesse Glicks qui répond:
manager
- vous permet d'analyser le journal à l'aide de manager.logContains(regexp)
ou manager.getLogMatcher(regexp)
.myTestString
, vous pouvez simplement appeler manager.logContains('.*myTestString.*')
manager.getLogMatcher(regexp)
Malheureusement, je n'ai trouvé aucun moyen d'analyser l'intégralité du journal (getLogMatcher
ne renvoie que la première ligne correspondante, Matcher). Je ne vois donc actuellement aucun moyen, par exemple, de compter combien de fois un fichier journal contient une chaîne spéciale.
Pas actuellement. (Les propriétés de currentBuild
sont documentées sous Générateur de fragments »Variables globales à propos.)
Il pourrait pourrait être mis en œuvre assez facilement, même s’il ne pouvait pas s’adapter avec d’importantes versions. JENKINS-28119 fournirait une solution plus évolutive à ce que je suppose que votre demande sous-jacente est.