jenkins - 通过 groovy 脚本在 Jenkins 中编辑用户
问题描述
我想知道我是否可以在 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)
解决方案
这是一个有效的简单代码:
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));
推荐阅读
- dart - Dart 中是否有与 C++ 类似的 std::bind ?
- javascript - React 如何搜索(过滤)数组中的所有字段?
- css - Chrome 在过渡时仍然闪烁
- sql-server - SQL Server 2016 数据库备份和还原
- sql - 附加查询不起作用 Access 2016
- mysql - 用户在哪里 - 在 15 秒内增加选择?
- elasticsearch - elasticsearch-pyspark:即使在使用 spark 指定之后,也没有从文档中获取特定字段(获取所有字段)
- java - 火花 SQL sql("
").first().getDouble(0) 给我不一致的结果 - visual-studio-code - 将图标添加到树视图的正确方法是什么?
- java - 修改映射键 java - 性能