Skip to content

Instantly share code, notes, and snippets.

@jefrnc
Created September 20, 2022 17:10
Show Gist options
  • Save jefrnc/d817221add43aa9e68568e19aae0d44b to your computer and use it in GitHub Desktop.
Save jefrnc/d817221add43aa9e68568e19aae0d44b to your computer and use it in GitHub Desktop.
Jenkins export ScriptApproval
import org.jenkinsci.plugins.scriptsecurity.scripts.*
println "groovy:"
println " - script: |"
println " import org.jenkinsci.plugins.scriptsecurity.scripts.*"
println " ScriptApproval scriptApproval = ScriptApproval.get()"
println " ["
// List all Signatures approved on Jenkins
def signatures = ScriptApproval.get().getApprovedSignatures()
signatures.each {
//Print hash of each signature
print " '${it}'"
//If not last signature, print comma
if (it != signatures.last()) {
println ","
} else {
println ""
}
}
println " ].each { hash -> scriptApproval.approveSignature(hash) }";
println " ["
//List Signatures already approved assuming permission on Jenkins
def signaturesAcl = ScriptApproval.get().getAclApprovedSignatures()
signaturesAcl.each {
//Print hash of each signature
print " '${it}'"
//If not last signature, print comma
if (it != signaturesAcl.last()) {
println ", "
} else {
println ""
}
}
println " ].each { hash -> scriptApproval.aclApproveSignature(hash) }";
println " scriptApproval.save()"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment