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

我有以下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

现在这个工作可以毫无错误地上传到Jenkins,但是如果我去Jenkins Web UI中的某个项目的配置页面,我可以看到在触发器部分中将更改推送到GitLab时没有启用Build. GitLab repo配置正确 – 此作业的源代码管理部分有git@gitlab.****/some-project.git,其中包含一些ssh-username-private-key凭据和分支origin / master配置.但没有工作触发器,这是没用的.

我究竟做错了什么?

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

我怀疑你可能需要将触发器放在作业本身,而不是在/ project / jobs下.

使用项目密钥下的触发器,我会遇到与您相同的症状.
 我的触发器都没有在Jenkins中创建.将触发器部分移动到作业中可以解决问题.

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

- 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'

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

相关文章
相关标签/搜索