Thanks Matt and Alex,
> To elaborate further, if you look through the global variables available, > you should be able to obtain all the info you’d use in a Jelly template > without the maintenance hassle. A bit of background to the problem… The Cassandra community wants a permanent record of test results. This helps bisect and blame regressions. Jenkins itself is not suitable as reliable storage of such history, while a mailing list is. The Cassandra pipeline has over 18 thousand tests, and we looking at adding more. Taking a closer look and the `Tokens` available there is more than I realised, thanks, but I still doubt that I will be able to replicate the jelly code that's below. What I did discover in the Tokens documentation though was a reference to the Config File Provider Plugin, which suggests the following is possible: `${JELLY_SCRIPT, template="managed:cassandra-text.jelly"}` <!-- cassandra-text.jelly --> <?jelly escape-by-default='true'?> <j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define"> BUILD ${build.result} Build URL: ${rooturl}${build.url} Project: ${project.name} Date of build: ${it.timestampString} Build duration: ${build.durationString} <!-- JUNIT RESULTS --> <j:set var="junitResultList" value="${it.JUnitTestResult}" /> <j:if test="${junitResultList.isEmpty()!=true}"> FAILURES <j:forEach var="junitResult" items="${it.JUnitTestResult}"> <j:forEach var="packageResult" items="${junitResult.getChildren()}"> <j:forEach var="failed_test" items="${packageResult.getFailedTests()}"> Failed: ${failed_test.getFullName()} </j:forEach> </j:forEach> </j:forEach> RESULTS <j:forEach var="junitResult" items="${it.JUnitTestResult}"> <j:forEach var="packageResult" items="${junitResult.getChildren()}"> Name: ${packageResult.getName()} Failed: ${packageResult.getFailCount()} test(s), Passed: ${packageResult.getPassCount()} test(s), Skipped: ${packageResult.getSkipCount()} test(s), Total: ${packageResult.getPassCount()+packageResult.getFailCount()+packageResult.getSkipCount()} test(s) <j:forEach var="failed_test" items="${packageResult.getFailedTests()}"> Failed: ${failed_test.getFullName()} </j:forEach> </j:forEach> </j:forEach> </j:if> </j:jelly>