0

job dsl プラグインを使用して jenkins ジョブを生成しています。ジョブ DSL プラグインのソナー実装で問題が発生しています。Flexible Publish プラグインを使用して、ソナーを実行するための条件を提供しています。つまり、ワークスペースで pom.xml が見つかった場合は、ソナーを実行します。問題は、ソナー変数「 jobAdditionalProperties 」を設定したいのですが、その変数はまだジョブ DSL プラグインでサポートされていないことです。私がこれまでに得たもの:

publishers {
  flexiblePublish {
    condition {
      fileExists('pom.xml', BaseDir.WORKSPACE)
    }
    publisher {
     sonar {
       branch('master')
     }        
    }
  }
}

ドキュメントに従って、configureメソッドを使用しようとしました:

configure { project ->
  project / publishers << 'hudson.plugins.sonar.SonarPublisher' {
    jobAdditionalProperties('..')
 }

しかし、xml は条件を使用して柔軟なパブリッシュ プラグインでネストされており、xml は適切な場所に生成されないため、これは機能しません。XML ツリーは次のようになります。

    <publishers>
    <org.jenkins__ci.plugins.flexible__publish.FlexiblePublisher>
        <publishers>
            <org.jenkins__ci.plugins.flexible__publish.ConditionalPublisher>
                <condition class='org.jenkins_ci.plugins.run_condition.core.FileExistsCondition'>
                    <file>pom.xml</file>
                    <baseDir class='org.jenkins_ci.plugins.run_condition.common.BaseDirectory$Workspace'></baseDir>
                </condition>
                <publisherList>
                    <hudson.plugins.sonar.SonarPublisher>
                    <branch></branch>
                    <jobAdditionalProperties></jobAdditionalProperties>

誰でもこれを解決する方法の手がかりを得ましたか?

4

1 に答える 1

1

あなたは正しい軌道に乗っています。構成ブロックでは、次のように、FlexiblePublisher XML 構造内の SonarPublisher 要素に移動する必要があります。

configure { project ->
    project / 
            publishers / 
            'org.jenkins__ci.plugins.flexible__publish.FlexiblePublisher' /
            publishers /
            'org.jenkins__ci.plugins.flexible__publish.ConditionalPublisher' /
            publisherList /
            'hudson.plugins.sonar.SonarPublisher' /
            jobAdditionalProperties('..')
}
于 2015-08-10T17:12:32.717 に答える