【问题标题】:Change Jenkins node label by REST API通过 REST API 更改 Jenkins 节点标签
【发布时间】:2021-11-24 10:06:34
【问题描述】:

我需要从 python 脚本中添加/删除 Jenkins 节点标签。我尝试使用 REST 请求来执行此操作,但失败了。 这是命令但不起作用:

curl -k -X POST --user [user]@[password] "https://jenkins-automation.itero.net/computer/JL_private/configure?Labels=lb"

请帮助我修复命令或提出其他关于如何从 python 脚本更改标签的想法。

【问题讨论】:

    标签: python rest jenkins


    【解决方案1】:

    您不能使用此技术,因为没有configure API 可用于以这种方式配置节点。
    如果您想通过 API 更新节点配置,您应该使用以下 API <JENKINS_URL>/computer/<NODE_NAME>/config.xml 检索节点的 config.xml,然后根据您想要的新设置更新配置文件,最后您可以发布更新的配置。 xml 到相同的 URL 以编程方式更新节点的配置。

    config.xml 的示例:

    <slave>
       <name>My First Agent</name>
       <description/>
       <remoteFS>/var/jenkins </remoteFS>
       <numExecutors>5</numExecutors>
       <mode>EXCLUSIVE</mode>
       <retentionStrategy class="hudson.slaves.RetentionStrategy$Always"/>
       <launcher class="hudson.slaves.JNLPLauncher">
         <workDirSettings>
           <disabled>false</disabled>
           <internalDir>remoting</internalDir>
           <failIfWorkDirIsMissing>false</failIfWorkDirIsMissing>
         </workDirSettings>
         <webSocket>false</webSocket>
        </launcher>
        <label>windows win10 64bit</label>
        <nodeProperties/>
    </slave>
    

    在您的情况下,您可以将 &lt;label&gt; 属性更新为您想要的节点标签的新值,并将其发布到上面给出的配置 url。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      相关资源
      最近更新 更多