我想使用 Job DSL插件脚本在Jenkins作业中调用 Sonarqube Scanner for MSBuild Begin Analysis 和 Sonarqube Scanner for MSBuild End Analysis 。
我想生成如下所示的 config.xml :
<hudson.plugins.sonar.MsBuildSQRunnerBegin plugin="sonar@2.6">
<projectKey>a</projectKey>
<projectName>b</projectName>
<projectVersion>c</projectVersion>
<additionalArguments></additionalArguments>
</hudson.plugins.sonar.MsBuildSQRunnerBegin>
<hudson.plugins.sonar.MsBuildSQRunnerEnd plugin="sonar@2.6"/>
我使用了下载的DSL剪辑,但它失败了&#34;签名错误&#34;
msBuildSQRunnerBegin {
additionalArguments('')
msBuildScannerInstallationName('')
projectKey('TinyJSON')
projectName('Tiny Json')
projectVersion('1.0')
sonarInstallationName('')
}
msBuild {
buildFile('TinyJSON.sln')
}
msBuildSQRunnerEnd()
错误
javaposse.jobdsl.dsl.DslScriptException: (script, line 17) No signature of method: javaposse.jobdsl.dsl.helpers.step.StepContext.msBuildSQRunnerBegin() is applicable for argument types: (script$_run_closure1$_closure3$_closure8) values: [script$_run_closure1$_closure3$_closure8@6a96899c]
有人可以帮我解决可能在作业XML中生成此代码段的DSL脚本
答案 0 :(得分:1)
以下脚本适合我。该脚本使用Automatically Generated DSL,该{{3}}仅在运行&#34;处理作业DSL&#34;在詹金斯建立一步。
job('example') {
steps {
msBuildSQRunnerBegin {
additionalArguments('')
msBuildScannerInstallationName('')
projectKey('TinyJSON')
projectName('Tiny Json')
projectVersion('1.0')
sonarInstallationName('')
}
msBuild {
buildFile('TinyJSON.sln')
}
msBuildSQRunnerEnd()
}
}