【问题标题】:Is there a wat to Copy Jenkins Job with Builds using API?有没有办法使用 API 复制 Jenkins 作业和构建?
【发布时间】:2021-03-07 07:39:19
【问题描述】:

我正在寻找一种使用 API 复制 jenkins 作业的方法。

我尝试了几个 Python Wrappers:

  from api4jenkins import Jenkins
  j = Jenkins('http://127.0.0.1:8080/', auth=('admin', 'admin'))
  j.copy_job('freestylejob', 'newjob')

但是它们中的所有复制方法都复制了没有构建的作业。

【问题讨论】:

    标签: jenkins jenkins-api


    【解决方案1】:

    为什么必须使用 API?只需从“Jenkins\Jobs”文件夹中复制该文件夹并重命名它,重新启动您的 Jenkins 实例,新作业将与所有子项一起出现。

    【讨论】:

    • API,因为我必须复制 200 多个管道作业,并且我需要保存构建,因为我正在使用构建号对我的工件进行版本控制。
    • 是的,这里也是。应该可以编写脚本,您唯一需要保存在文件夹结构中的是 config.xml 文件。 “builds”文件夹及其下的所有内容都可以删除,内部版本号保存在“nextBuildNumber”文件中。如果找不到,它将自动重新创建,因此您可以继续并杀死它。 stackoverflow.com/questions/23767489/…
    • 哦,你说保存构建,如果你复制文件夹,这一切都将被维护,因为它全部保存在目录结构或 nextbuidlnumber 文件中。尝试只复制一个并重新启动服务。您应该会看到与构建等完全相同的副本。
    • 不,不起作用。我尝试使用 API 和 CLI。复制后,我得到了一个全新的管道作业,配置相同,但构建次数为 0。
    • 我刚刚尝试过自己并且能够做到,并且它保持了构建和数字。您是否在 Windows 环境中运行?
    猜你喜欢
    • 2017-05-17
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多