Jenkins作业构建器gitlab触发器被忽略

Elm*_*lmo 7 jenkins gitlab jenkins-job-builder

我有以下Jenkins Job定义:

- scm:
  name: some-project
  scm:
    - git:
      url: git@gitlab.****/some-project.git
      credentials-id: some-ssh-username-with-private-key
      branches:
        - origin/master
- project:
    name: some-project
    jobs:
      - '{name}':
        triggers:
          gitlab:
            trigger-push: true
            trigger-merge-request: false
            trigger-open-merge-request-push: never
Run Code Online (Sandbox Code Playgroud)

现在这个工作可以上传到詹金斯没有错误,但如果我去Configure的页面some-project在詹金斯的Web UI,我可以看到,Build when a change is pushed to GitLab触发器未启用部分.GitLab回购被正确配置- 源代码管理这项工作的部分有git@gitlab.****/some-project.gitsome-ssh-username-with-private-key证书和分支origin/master配置.但没有工作触发器,这是没用的.

我究竟做错了什么?

请注意,我不是问如何配置GitLab WebHooks来触发Jenkins作业.我可以手动执行此操作并且工作正常.但是我们希望使用Jenkins Job构建器管理我们的Jenkins作业,以避免通过Web UI配置它们的错误过程并跟踪作业配置的变化 - 我们正在使用Jenkins作业定义创建git存储库.

Mik*_*ick 4

我怀疑您可能需要将 放在triggers其本身中job,而不是放在/project/jobs.

通过按键下的触发器project,我遇到了与您相同的症状。我的触发器都没有在詹金斯中创建。将triggers部分移至 ajob可以解决我的问题。

此 yaml 将构建一个名为builder-test“当更改推送到 GitLab 时构建”复选框的 jenkins 作业:

- scm:
    name: gitlab
    scm:
      - git:
          url: https://gitlab.com/user/repo-name.git
          branches:
            - origin/master
- job:
    name: builder-test
    project-type: freestyle
    description: "builder-test desc"
    scm:
      - gitlab            
    triggers:
      - gitlab: 
          trigger-push: true
- project:
    name: builder-test-project
    jobs:
      - 'builder-test'
Run Code Online (Sandbox Code Playgroud)

使用 GitLab 插件 1.5.1 和 JJB 1.6.2 在 Jenkins 2.32.3 上进行测试