-3

I want to invoke Sonarqube Scanner for MSBuild Begin Analysis and Sonarqube Scanner for MSBuild End Analysis in Jenkins job using Job DSL Plugin Script.

I want to produce a config.xml like below :

<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"/>

I used folloing DSL snipped, but it is failing with "signature error"

    msBuildSQRunnerBegin {
        additionalArguments('')
        msBuildScannerInstallationName('')
        projectKey('TinyJSON')
        projectName('Tiny Json')
        projectVersion('1.0')
        sonarInstallationName('')
    }
    msBuild {
        buildFile('TinyJSON.sln')
    }
    msBuildSQRunnerEnd()

Error

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]

Would anyone please help me with DSL script that could generate this snippet in job XML

1 Answers1

2

The following script works for me. The script uses the Automatically Generated DSL which is only available when running the "Process Job DSLs" build step in Jenkins.

job('example') {
  steps {
    msBuildSQRunnerBegin {
      additionalArguments('')
      msBuildScannerInstallationName('')
      projectKey('TinyJSON')
      projectName('Tiny Json')
      projectVersion('1.0')
      sonarInstallationName('')
    }
    msBuild {
      buildFile('TinyJSON.sln')
    }
    msBuildSQRunnerEnd()
  }
}
daspilker
  • 8,154
  • 1
  • 35
  • 49