是否可以使用curl将新节点发布到Jenkins API?

是否可以使用curl将新节点发布到Jenkins API?,jenkins,jenkins-cli,Jenkins,Jenkins Cli,我试图通过只执行来自新从机的操作来自动化新Jenkins从机加入主机的过程。我知道我可以在新的从机上运行如下命令: java -jar agent.jar -jnlpUrl http://<jenkinsURL>/computer/<myNewNode>/slave-agent.jnlp -secret <secret> -workDir <dir> java-jar-agent.jar-jnlpUrlhttp:///computer//slav

我试图通过只执行来自新从机的操作来自动化新Jenkins从机加入主机的过程。我知道我可以在新的从机上运行如下命令:

java -jar agent.jar -jnlpUrl http://<jenkinsURL>/computer/<myNewNode>/slave-agent.jnlp -secret <secret> -workDir <dir>
java-jar-agent.jar-jnlpUrlhttp:///computer//slave-agent.jnlp -秘密工作
但是,为了在从机上运行此功能,必须已经在主机上创建了它,否则
http:///computer/
路径将不存在

为了解决这个问题,我想知道是否可以向Jenkins API发布一个新节点。这样,我就可以将它作为新Jenkins slave的自动设置的一部分,并在下载和运行agent.jar之前先发布。我尝试使用以下config.xml作为数据对其进行卷曲:

<slave>
  <name>myNewNode</name>
  <description>This is my new node</description>
  <remoteFS>/home/jenkins</remoteFS>
  <numExecutors>1</numExecutors>
  <mode>NORMAL</mode>
  <retentionStrategy class="hudson.slaves.RetentionStrategy$Always"/>
  <launcher class="hudson.slaves.JNLPLauncher">
    <workDirSettings>
      <disabled>false</disabled>
      <internalDir>remoting</internalDir>
      <failIfWorkDirIsMissing>false</failIfWorkDirIsMissing>
    </workDirSettings>
  </launcher>
  <label>label1</label>
  <nodeProperties/>
</slave>

myNewNode
这是我的新节点
/家/詹金斯
1.
正常的
假的
远程处理
假的
标签1

但它不起作用。它不断返回一个错误,说詹金斯面包屑无效。根据这里的页面()可以发布一个XML节点。有人知道如何或以任何其他方式实现这一点吗?

面包屑问题可能是2.96中引入的。解决办法。谢谢,我想你是对的。我在Jenkins的旧版本上使用了Cramb,但在新版本中,我放弃了使用API令牌,就像你的链接所说的那样