1

目前,在 Jenkins Job Builder 中,我可以通过publishers选项指定下游作业,如下所示:

- job-template:
    name: foo-one
    project-type: freestyle
    disabled: false
    ...
    publishers:
      - pipeline:
          project: foo-two

创建foo-one作业时,Jenkins 中存在下游连接,但 Build other projects 条目是'Build other projects (Manual Step)'。如何通过 Jenkins Job Builder 指示与作业foo-2的下游连接需要自动化?

4

2 回答 2

1

无法弄清楚如何使用 Jenkins Job Builder 发布者/管道标签解决问题。所以,最终:

  1. 在 Jenkins 中配置foo-one作业以在foo-one成功完成时启动foo-two
  2. 通过curl -O http://localhost:8080/job/foo-one/config.xml检索foo-one作业的 config.xml 文件
  3. 从控制下游启动逻辑的 config.xml 文件中提取相关 XML。
  4. 使用 Jenkins Job Builder xml发布者标签:

    - job-template:
        name: foo-one
        project-type: freestyle
        disabled: false
        ...
        publishers:
          - raw:
              xml: |
                <hudson.tasks.BuildTrigger>
                  <childProjects>foo-two</childProjects>
                  <threshold>
                    <name>SUCCESS</name>
                    <ordinal>0</ordinal>
                    <completeBuild>true</completeBuild>
                  </threshold>
                </hudson.tasks.BuildTrigger>
    
于 2016-06-29T17:38:11.167 回答
0

尝试trigger-parameterized-builds用于触发下游作业。

- job-template:
    name: foo-one
    project-type: freestyle
    disabled: false
    ...

    publishers:
      - trigger-parameterized-builds:
          - project: 'foo-two'
            condition: UNSTABLE_OR_BETTER
            fail-on-missing: true
于 2018-09-23T17:52:10.923 回答