<% def printStatusRecursively(cause) {
if (cause.class.toString().contains("UpstreamCause")) {
def projectName = cause.getUpstreamProject()
def number = cause.getUpstreamRun().number
upstreamJob = hudson.model.Hudson.instance.getItem(projectName)
upbuild = upstreamJob.getBuildByNumber(number)%>
<TR>
<TD>${projectName}</TD>
<TD>${upbuild.result}</TD>
<TD><A href="${rooturl}${upbuild.url}">${rooturl}${upbuild.url}</A> </TD>
</TR>
<%
for (upCause in cause.upstreamCauses) {
printStatusRecursively(upCause)
} }
}%>
<%
for (cause in build.causes)
{
printStatusRecursively(cause)
}%>
私は以下のリンク "https://github.com/jenkinsci/email-ext-plugin/blob/master/src/main/resources/hudson/plugins/emailext/templates/groovy-html.template"のようなgrrovyスクリプトを使用しています。私はそれを私のjenkinsの電子メールエクステンションプラグインの一部として使用していますが、それは多くのジョブではうまくいきましたが、突然フォルダプラグインを使用してフォルダに移動したときに、このエラーで失敗しました: テンプレートレンダリング中に例外が発生しました:メソッド "getBuildByNumber()nullオブジェクトでjava.lang.NullPointerException:"。 (ファイルシステムのパスのような)スラッシュ/
で区切られ、すべての親フォルダが含まれるジョブの階層名 - フォルダプラグインを使用してjenkinsジョブフォルダを変更した後、groovyスクリプトテンプレートが失敗する
fullName
が
foldername/jobname
のような文字列がどこにあるか私は
は、同様の問題を持っていたし、これはそれを修正しました。私はこれが正解とマークされるべきだと思います。 –