reveal all jenkins secrets
This commit is contained in:
parent
cd917d848c
commit
977b79f8f4
@ -7,3 +7,35 @@ Execute in https://*INSTANCE*/script to reveal passwords from a password hash (o
|
|||||||
### Jenkins current jobs
|
### Jenkins current jobs
|
||||||
|
|
||||||
https://*INSTANCE*/computer/api/json?tree=computer[executors[currentExecutable[*]]]
|
https://*INSTANCE*/computer/api/json?tree=computer[executors[currentExecutable[*]]]
|
||||||
|
|
||||||
|
### Reveal all secrets
|
||||||
|
|
||||||
|
Execute in https://*INSTANCE*/script to reveal all secrets
|
||||||
|
```
|
||||||
|
import com.cloudbees.plugins.credentials.CredentialsProvider
|
||||||
|
import com.cloudbees.plugins.credentials.Credentials
|
||||||
|
import com.cloudbees.plugins.credentials.domains.Domain
|
||||||
|
import jenkins.model.Jenkins
|
||||||
|
def indent = { String text, int indentationCount ->
|
||||||
|
def replacement = "\t" * indentationCount
|
||||||
|
text.replaceAll("(?m)^", replacement)
|
||||||
|
}
|
||||||
|
Jenkins.get().allItems().collectMany{ CredentialsProvider.lookupStores(it).toList()}.unique().forEach { store ->
|
||||||
|
Map<Domain, List<Credentials>> domainCreds = [:]
|
||||||
|
store.domains.each { domainCreds.put(it, store.getCredentials(it))}
|
||||||
|
if (domainCreds.collectMany{ it.value}.empty) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
def shortenedClassName = store.getClass().name.substring(store.getClass().name.lastIndexOf(".") + 1)
|
||||||
|
println "Credentials for store context: ${store.contextDisplayName}, of type $shortenedClassName"
|
||||||
|
domainCreds.forEach { domain , creds ->
|
||||||
|
println indent("Domain: ${domain.name}", 1)
|
||||||
|
creds.each { cred ->
|
||||||
|
cred.properties.each { prop, val ->
|
||||||
|
println indent("$prop = \"$val\"", 2)
|
||||||
|
}
|
||||||
|
println indent("-----------------------", 2)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user