Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Setup Jenkins Credentials
import jenkins.model.*
import com.cloudbees.plugins.credentials.*
import com.cloudbees.plugins.credentials.common.*
import com.cloudbees.plugins.credentials.domains.*
import com.cloudbees.plugins.credentials.impl.*
import com.cloudbees.jenkins.plugins.sshcredentials.impl.*
import org.jenkinsci.plugins.plaincredentials.*
import org.jenkinsci.plugins.plaincredentials.impl.*
import hudson.util.Secret
import hudson.plugins.sshslaves.*
import org.apache.commons.fileupload.*
import org.apache.commons.fileupload.disk.*
import java.nio.file.Files
domain = Domain.global()
store = Jenkins.instance.getExtensionList('com.cloudbees.plugins.credentials.SystemCredentialsProvider')[0].getStore()
priveteKey = new BasicSSHUserPrivateKey(
CredentialsScope.GLOBAL,
"jenkins-slave-key",
"root",
new BasicSSHUserPrivateKey.UsersPrivateKeySource(),
"",
""
)
usernameAndPassword = new UsernamePasswordCredentialsImpl(
CredentialsScope.GLOBAL,
"jenkins-slave-password", "Jenkis Slave with Password Configuration",
"root",
"jenkins"
)
secretText = new StringCredentialsImpl(
CredentialsScope.GLOBAL,
"secret-text",
"Secret Text Description",
Secret.fromString("some secret text goes here"))
factory = new DiskFileItemFactory()
dfi = factory.createItem("", "application/octet-stream", false, "filename")
out = dfi.getOutputStream()
file = new File("/path/to/some/file")
Files.copy(file.toPath(), out)
FileCredentailsImpl can take a file from a do
secretFile = new FileCredentialsImpl(
CredentialsScope.GLOBAL,
"secret-file",
"Secret File Description"
dfi, // Don't use FileItem
"",
"")
store.addCredentials(domain, priveteKey)
store.addCredentials(domain, usernameAndPassword)
store.addCredentials(domain, secretText)
store.addCredentials(domain, secretFile)
@bpsizemore

This comment has been minimized.

Copy link

bpsizemore commented Mar 4, 2016

I'm trying to find a way to list secret texts. I found a script for listing credentials, but it does not include secret text. Any chance you could help me out?

@chenzhiwei

This comment has been minimized.

Copy link

chenzhiwei commented Nov 9, 2016

Hi, do you know how to setup "Enable Slave → Master Access Control" in init groovy script?

http://jenkins-url/configureSecurity/

@chrisweaver

This comment has been minimized.

Copy link

chrisweaver commented Jan 8, 2017

To enable slave -> master access control, you drop a file named "slave-to-master-security-kill-switch" in $JENKINS_HOME/secrets. It has to be a text file with the one line "false" in it. (Yes false, not true -- I don't get it either.)

You could write a groovy script to do that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.