-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
简单记录下,首先需要有jenkins-cli.jar这个jar,才能通过远程操作jenkins。groovy脚本如下:
import hudson.model.*
import hudson.security.*
import hudson.tasks.Mailer
import jenkins.model.*
import java.util.*
import com.michelin.cio.hudson.plugins.rolestrategy.*
println "start"
def userName = "YOUR_NAME"
def roleName = "YOUR_ROLE"
def password = "YOUR_PASSWORD"
def email = "YOUR_EMAIL"
def instance = jenkins.model.Jenkins.instance
def userExist = instance.securityRealm.allUsers.find {it.id == userName}
if (userExist) {
println "user exist"
return
}
def user = instance.securityRealm.createAccount(userName, password)
user.addProperty(new Mailer.UserProperty(email));
def authStrategy = Jenkins.instance.getAuthorizationStrategy()
if(authStrategy instanceof RoleBasedAuthorizationStrategy){
RoleBasedAuthorizationStrategy roleAuthStrategy = (RoleBasedAuthorizationStrategy) authStrategy
authStrategy.doAssignRole(authStrategy.GLOBAL, roleName, userName)
authStrategy.doAssignRole(authStrategy.PROJECT, roleName, userName)
println "add role success"
}
println "done"命令行操作如下,因为jenkins-cli不支持直接输入groovy文件,只能从标准输入中读取,所以只能用这样的方式了,坑啊。
java -jar jenkins-cli.jar -s http://maidocker0:8080/ -http -auth admin:11068fdf4d3f17debb9ec981f5852e05c6 groovy = < ./add_jenkins_user.groovy Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels