如何通过 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 凭据?的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins REST API 使用实战

使用第三方接口调用工具调用Jenkins REST Api

使用 Jenkins Rest API 安排 Jenkins 作业

持续集成Jenkins Jenkins API的使用(更新中)

如何通过执行操作电子邮件通过 keycloak admin rest api 更新密码

如何通过 REST API 更新 Grafana 面板中的指标值