I'm using the Any Build Step plugin with the Conditional BuildStep plugin to add an archive artifacts publisher as a builder. It works fine in the UI and generates this XML in the job's config.xml.
<org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder plugin="conditiona...@1.3.6">
<condition class="org.jenkins_ci.plugins.run_condition.core.AlwaysRun" plugin="run-condition@1.0"/>
<buildStep class="hudson.tasks.ArtifactArchiver">
<artifacts>*.css</artifacts>
<allowEmptyArchive>true</allowEmptyArchive>
<onlyIfSuccessful>false</onlyIfSuccessful>
<fingerprint>true</fingerprint>
<defaultExcludes>true</defaultExcludes>
<caseSensitive>true</caseSensitive>
</buildStep>
<runner class="org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail" plugin="run-condition@1.0"/>
</org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder>
I've tried a few variations of Job DSL code, but there's an example of what I've done below. This code errors, replacing steps with publishers puts the archive in a publisher instead of in the build step.
steps {
// Create an artifact of the files produced in the build.
conditionalSteps {
condition {
alwaysRun()
}
runner('Fail')
steps {
archiveArtifacts {
pattern('*.css')
allowEmpty()
}
}
}
}
I'm wondering if the Job DSL supports using publishers as builders? Maybe it only supports using builders as publishers. The documentation for Any Build Step here
https://jenkinsci.github.io/job-dsl-plugin/#plugin/any-buildstep seems to suggest that steps only has a conditionalAction context, which only has a FlexiblePublisher context.
If anyone could point me in the right direction for how to use a publisher as a builder in the Job DSL, it would be greatly appreciated!