-
Bug
-
Resolution: Won't Fix
-
Minor
-
Jenkins ver. 1.658
Job-DSL ver. 1.48
Slack Notification Plugin 2.0.1
I have a seed job definition which is failing gradle test even though it seems to work fine when we use it in Jenkins.
//package master // GitURL def gitUrl = 'https://github.com/team/myapp' def slackRoom = null job('seed-dsl') { description('This seed is updated from the seed-dsl-updater job') properties { //Set github project URL githubProjectUrl(gitUrl) } ... // publishers is another name for post build steps publishers { mailer('', false, true) slackNotifier { room(slackRoom) notifyAborted(true) notifyFailure(true) notifyNotBuilt(true) notifyUnstable(true) notifyBackToNormal(true) notifySuccess(false) notifyRepeatedFailure(false) startNotification(false) includeTestSummary(false) includeCustomMessage(false) customMessage(null) buildServerUrl(null) sendAs(null) commitInfoChoice('NONE') teamDomain(null) authToken(null) } } }
The gradle test command works fine when I comment out the with the slackNotifier declaration, but fail with the following error when it's enabled:
Caused by:
javaposse.jobdsl.dsl.DslScriptException: (script, line 79) No signature of method: javaposse.jobdsl.dsl.helpers.publisher.PublisherContext.slackNotifier() is applicable for argument types: (script$_run_closure1$_closure9$_closure14) values: [script$_run_closure1$_closure9$_closure14@d2392a1]
Possible solutions: stashNotifier(), stashNotifier(groovy.lang.Closure)
at javaposse.jobdsl.dsl.DslScriptLoader.runScriptEngine(DslScriptLoader.groovy:135)
at javaposse.jobdsl.dsl.DslScriptLoader.runScriptsWithClassLoader_closure1(DslScriptLoader.groovy:78)
According to the migration doc, slackNotifer has been supported since 1.47. In my gradle.build, I'm using 1.48. I see the same errors with plugin version 1.50
ext { jobDslVersion = '1.48' ... } ... // Job DSL plugin including plugin dependencies testCompile "org.jenkins-ci.plugins:job-dsl:${jobDslVersion}" testCompile "org.jenkins-ci.plugins:job-dsl:${jobDslVersion}@jar" ...
The gradle.build also includes the following, as suggested by the testing docs.
testPlugins 'org.jenkins-ci.plugins:slack:2.0.1'
To reproduce:
Download the seed job into the jobs directory, and run gradle test with the slackNotifier directive enabled. Comment out the slackNotifier directive and observe passing tests.
Note: The job definition fails when ran on the DSL playground, as well.