从Jenkins向Gitlab提交发布Jenkins作业构建状态

从Jenkins向Gitlab提交发布Jenkins作业构建状态,jenkins,gitlab,jenkins-job-dsl,Jenkins,Gitlab,Jenkins Job Dsl,我是詹金斯的新手。我使用的是Jenkins 2.77和GitLab Enterprise Edition 9.5.5。我看到一个奇怪的问题正在发生 我已经创建了3个Jenkins freestyle作业,并为这些作业构建了管道视图[1~>2~>3]。我能够使用Gitlab webhook触发构建,并在没有任何问题的情况下将作业3的状态发布到Gitlab。所有这些都是手工完成的 我必须为大约100个项目创造这3个工作岗位。所以我选择通过jenkins job DSL生成这些作业。我能够生成作业并构

我是詹金斯的新手。我使用的是Jenkins 2.77和GitLab Enterprise Edition 9.5.5。我看到一个奇怪的问题正在发生

我已经创建了3个Jenkins freestyle作业,并为这些作业构建了管道视图[1~>2~>3]。我能够使用Gitlab webhook触发构建,并在没有任何问题的情况下将作业3的状态发布到Gitlab。所有这些都是手工完成的

我必须为大约100个项目创造这3个工作岗位。所以我选择通过jenkins job DSL生成这些作业。我能够生成作业并构建管道视图。从Gitlab webhook触发构建(针对特定项目)也可以很好地工作。在管道视图中,我也可以看到构建。但不幸的是,由于某些原因,我没有得到Gitlab的反馈

我观察到的一件奇怪的事情是,如果在jenkins中打开“job 3”,只需单击save而不做任何更改,它就会神奇地自动发送来自下一个构建的反馈

我不知道发生了什么事

作业3的DSL:

job("SyntaxCheck") {

logRotator {
    numToKeep(10)
    artifactNumToKeep(10)
}
parameters {
    stringParam('jobType', '')
}
scm {
  git  {
    remote {
      url('gitlab url to checkout the project')
      branch('master')
      credentials(*********)
      extensions {
        submoduleOptions {
          recursive(true)
        }
      }
    }
  }
}
steps {
  shell(puppetparser)
}
publishers {
  gitLabCommitStatusPublisher {
    name('syntaxcheck')
    markUnstableAsSuccess(false)
  }
}
}

建议或解决方法将不胜感激。

将生成的作业的config.xml与手动创建的config.xml进行比较。达斯皮尔克:事实上,我能发现一个差异,这就是问题的原因。感谢您指出这一点。请将生成的作业的config.xml与手动创建的config.xml进行比较。达斯皮尔克:事实上,我能发现一个差异,这就是问题的原因。谢谢你指出这一点。