Last active
June 7, 2021 14:24
-
-
Save imranity/dec6a655ba671fa5b3c3 to your computer and use it in GitHub Desktop.
jenkins groovy get API token of a user
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| This is pretty simple snippet to get API Token of a user , lets say "MYUser" in jenkins. | |
| its pretty useful when you are working with 'jenkins-job-builder' to update jobs in jenkins, | |
| and you need to get the api token which JJB needs inorder to update jobs to .. | |
| run this code in either jenkins script console , or as i prefer, in form of init.groovy. | |
| so when jenkins amster starts, i create a user for JJb. | |
| after that i get the token right away and pass it to my JJB jobs folder to file 'jenkins_jobs.ini' :)_ . | |
| ``` | |
| /////////////////////////////////////////////////////////////////////// | |
| import jenkins.security.* | |
| //j.jenkins.setSecurityRealm(j.createDummySecurityRealm()); | |
| User u = User.get("Myuser") | |
| ApiTokenProperty t = u.getProperty(ApiTokenProperty.class) | |
| def token = t.getApiToken() | |
| //token.getClass() | |
| println "token is $token " | |
| //////////////////////////////////////////////////////////////////////// | |
| ``` |
@ripcurld00d depends how you run it - from the script console hudson.model.* is imported for you. if you run via the CLI you have to import everything yourself
Sadly this returns 'Token is Hidden' (same as the Show API Token in user/config) for me.
you guys are right, this is masked in jenkins version above 1.596.2 . i was testing this with jenkins version 1.596.2
This works...def token = t.getApiTokenInsecure()
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I might be wrong, but I had to
import hudson.model.*too to resolve the "unable to resolve class User" error.