如何通过 REST API 更新 jenkins 凭据?

Posted

技术标签:

【中文标题】如何通过 REST API 更新 jenkins 凭据?【英文标题】:How to update jenkins credentials via the REST API? 【发布时间】:2019-02-08 17:21:18 【问题描述】:

我发现这是使用 REST API 调用在 Jenkins 中创建凭据,如何使用 REST API 调用更新具有给定 ID 的凭据?

curl -X POST 'http://jenkins:8080/credentials/store/system/domain/_/createCredentials' --data-urlencode 'json=  
  "": "0",
  "credentials": 
    "scope": "GLOBAL",
    "id": "apicredentials",
    "username": "apicredentials",
    "password": "P@$$W0rd",
    "description": "apicredentials",
    "stapler-class": "com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl"
  
'

【问题讨论】:

【参考方案1】:

xml 文件示例:

$ cat credential.xml
<com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>
  <scope>GLOBAL</scope>
  <id>apicredentials</id>
  <username>manu</username>
  <password>bar1</password>
</com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>

$ curl -X POST -H content-type:application/xml -d @credential.xml 'http://USER:KEY@JENKINS_URL:8080/credentials/store/system/domain/_/credential/apicredentials/config.xml'

【讨论】:

谢谢。这为我节省了几个小时!如果您知道如何使用 JSON API 执行相同的请求,我会给您多一分以获得另一个答案;) 谢谢!有这么多非工作解决方案有很多投票,但这是唯一一个用于更新 cred 的解决方案。

以上是关于如何通过 REST API 更新 jenkins 凭据?的主要内容,如果未能解决你的问题,请参考以下文章