Search code examples
restjenkinsjenkins-pipelinejenkins-cli

Upload secret file credentials to Jenkins with REST / CLI


How can I create a Jenkins Credential via REST API or Jenkins CLI? The credential should be of type "secret file", instead of a username / password combination.

The question is similar to this question, but not the same or a duplicate.


Solution

  • You can do it as follows:

    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"}}'
    

    just finished with it today https://www.linkedin.com/pulse/upload-jenkins-secret-file-credential-via-api-maksym-lushpenko/?trackingId=RDcgSk0KyvW5RxrBD2t1RA%3D%3D