【问题标题】:Edit user in Jenkins via groovy script通过 groovy 脚本在 Jenkins 中编辑用户
【发布时间】:2021-03-01 14:20:39
【问题描述】:

我想知道我是否可以在 Jenkins 用户中更改密码、用户名、电子邮件。因为我可以像这样通过 groovy 脚本创建用户:

import hudson.model.*

def user = instance.securityRealm.createAccount(userId, password)
user.addProperty(new Mailer.UserProperty(email));
instance.save()

Jenkins 界面允许我管理用户凭据,但允许更改 密码/电子邮件/用户名 的脚本会非常有帮助。我没有找到例子。

我用这样的脚本尝试了很多次,但没有成功

import hudson.model.*

User user = User.getAll().get(1)
user.setProperty(newPassword)

【问题讨论】:

    标签: jenkins groovy user-management


    【解决方案1】:

    这是一个有效的简单代码:

    import jenkins.model.*
    import hudson.security.*
    import hudson.tasks.Mailer
    
    def env = System.getenv()
    
    def jenkins = Jenkins.getInstance()
    if(!(jenkins.getSecurityRealm() instanceof HudsonPrivateSecurityRealm))
        jenkins.setSecurityRealm(new HudsonPrivateSecurityRealm(false))
    
    if(!(jenkins.getAuthorizationStrategy() instanceof GlobalMatrixAuthorizationStrategy))
        jenkins.setAuthorizationStrategy(new GlobalMatrixAuthorizationStrategy())
    
    // update admin Jenkins user account
    def user = jenkins.getSecurityRealm().getUser('admin')
    email= 'jenkins-admin@gmail.com'
    user.addProperty(new Mailer.UserProperty(email));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      相关资源
      最近更新 更多