使用REST/CLI将秘密文件凭据上载到Jenkins

Ami*_*adi 8 rest jenkins jenkins-cli jenkins-pipeline

如何通过REST API或Jenkins CLI创建Jenkins凭据?凭证应为"秘密文件"类型,而不是用户名/密码组合.

问题类似于这个问题,但不一样或重复.

lum*_*aks 10

您可以按如下方式进行操作:

curl -X POST \
 https://jenkins.local/job/TEAM-FOLDER/credentials/store/folder/domain/_/createCredentials \
 -F secret=@/Users/maksym/secret \
 -F 'json={"": "4", "credentials": {"file": "secret", "id": "test", 
"description": "HELLO-curl", "stapler-class": 
"org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl", 
"$class": 
"org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl"}}'
Run Code Online (Sandbox Code Playgroud)

今天刚刚完成https://www.linkedin.com/pulse/upload-jenkins-secret-file-credential-via-api-maksym-lushpenko/?trackingId=RDcgSk0KyvW5RxrBD2t1RA%3D%3D


gio*_*oni 7

要通过 CLI 创建 Jenkins 凭据,您可以使用以下create-credentials-by-xml命令:

java -jar jenkins-cli.jar -s <JENKINS_URL> create-credentials-by-xml  system::system::jenkins _ < credential-name.xml
Run Code Online (Sandbox Code Playgroud)

了解此语法的最佳方法是手动创建凭据,然后将其转储:

java -jar jenkins-cli.jar -s <JENKINS_URL> get-credentials-as-xml system::system::jenkins _ credential-name > credential-name.xml
Run Code Online (Sandbox Code Playgroud)

然后你可以使用这个 XML 示例作为模板,它应该是不言自明的。