Groovy Jenkins JObDSL条件构建步骤发送电子邮件问题
如果条件为真,我正在尝试为条件构建步骤发送电子邮件写入jobdsl块, 对我来说它失败了,请帮助改进下面的代码(下面是堆栈跟踪) 堆栈跟踪: groovy.lang.MissingMethodException:没有方法的签名: javaposse.jobdsl.dsl.helpers.step.ConditionalStepsContext.extendedEmail() 适用于参数类型:(java.lang.String、java.lang.String、, java.lang.String)值:[mthakkar@mycompany.com,对于组件,测试 吉拉]在 javaposse.jobdsl.dsl.helpers.AbstractExtensionContext.methodMissing(AbstractExtensionContext.groovy:19) 在 javaposse.jobdsl.dsl.AbstractContext.invokeMethod(AbstractContext.groovy) 在 Script1432438737322039521488$_run_closure1_closure3_closure7.doCall(Script1432438737322039521488.groovy:17) 在 Script1432438737322039521488$_run_closure1_closure3_closure7.doCall(Script1432438737322039521488.groovy) 在 javaposse.jobdsl.dsl.ContextHelper.executeInContext(ContextHelper.groovy:14) 位于javaposse.jobdsl.dsl.ContextHelper$executeInContext.call(未知 来源)在 javaposse.jobdsl.dsl.ContextHelper$executeInContext.call(未知 来源)在 javaposse.jobdsl.dsl.helpers.step.StepContext.conditionalSteps(StepContext.groovy:554) 在 Script1432438737322039521488$_run_closure1_closure3.doCall(Script1432438737322039521488.groovy:13)位于 Script1432438737322039521488$_run_closure1_closure3.doCall(Script1432438737322039521488.groovy) 在 javaposse.jobdsl.dsl.ContextHelper.executeInContext(ContextHelper.groovy:14) 位于javaposse.jobdsl.dsl.ContextHelper$executeInContext.call(未知 来源)在 javaposse.jobdsl.dsl.ContextHelper$executeInContext.call(未知 在javaposse.jobdsl.dsl.Job.steps(Job.groovy:510)中 Script1432438737322039521488$_run_closure1.doCall(Script1432438737322039521488.groovy:11) 位于javaposse.jobdsl.dsl.JobParent.job(JobParent.groovy:110) javaposse.jobdsl.dsl.JobParent.job(JobParent.groovy)位于 javaposse.jobdsl.dsl.DslFactory$job.callCurrent(未知源)位于 script1432438737322039521488.run(script1432438737322039521488.groovy:1) 在 javaposse.jobdsl.dsl.DslScriptLoader.rundslnengineforparent(DslScriptLoader.java:72) 在 javaposse.jobdsl.dsl.DslScriptLoader$rundslnengineforparent.call(未知 来源)在 com.sheehan.jobdsl.DslScriptExecutor.execute(DslScriptExecutor.groovy:31) 位于com.sheehan.jobdsl.ScriptExecutor$execute.call(未知源) Ratpack$\u run\u closure1\u closure3\u closure7.doCall(Ratpack.groovy:39)位于 ratpack.groovy.internal.ClosureInvoker.invoke(ClosureInvoker.java:65) 在 ratpack.groovy.handling.internal.ClosureBackedHandler.handle(ClosureBackedHandler.java:42)Groovy Jenkins JObDSL条件构建步骤发送电子邮件问题,groovy,jenkins,Groovy,Jenkins,如果条件为真,我正在尝试为条件构建步骤发送电子邮件写入jobdsl块, 对我来说它失败了,请帮助改进下面的代码(下面是堆栈跟踪) 堆栈跟踪: groovy.lang.MissingMethodException:没有方法的签名: javaposse.jobdsl.dsl.helpers.step.ConditionalStepsContext.extendedEmail() 适用于参数类型:(java.lang.String、java.lang.String、, java.lang.String
我目前无法测试此问题扩展电子邮件步骤是发布者 按照 出版者 块以包含发布者列表 扩展电子邮件插件
您是否安装了条件步骤插件?是的,我还认为这更多的是一个配置,与正在安装的真正插件或nowyep无关,但不在条件构建步骤插件中,当我使用条件构建步骤插件并添加电子邮件时,config.xml不会将其显示为发布者,而是作为构建步骤。我也厌倦了将它包装在publisher上,只是为了检查,但这并没有帮助:(有一个任意构建步骤可以将发布步骤转换为构建步骤。我认为作业dsl中不支持这一点,但您可以使用配置块来制作它。可能值得询问我看到您所做的作业dsl组;)
job {
name 'ci'
description 'Build and test the app.'
scm {
git {
remote {
github 'sheehan/job-dsl-playground'
}
}
}
steps {
gradle 'test'
conditionalSteps {
condition {
stringsMatch('${ENV,var="CHILD_BUILD"}', "true", false)
}
extendedEmail("mthakkar@mycompany.com", "for Componets",
"Test Jira")
}
}
publishers {
archiveJunit 'build/test-results/**/*.xml'
}
}
job {
publishers {
extendedEmail(String recipients = null, String subjectTemplate = null,
String contentTemplate = null) {
trigger(String triggerName, String subject = null, String body = null,
String recipientList = null, Boolean sendToDevelopers = null,
Boolean sendToRequester = null, includeCulprits = null,
Boolean sendToRecipientList = null)
trigger(Map args)
configure(Closure configureClosure)
}
}
}