【发布时间】:2017-07-10 16:16:59
【问题描述】:
我编写了一个 DSL 脚本来在 Jenkins 中创建一个文件夹,但现在我需要一个脚本来为该文件夹创建一个组并将用户添加到同一个组中并为组分配一个角色。
import com.cloudbees.hudson.plugins.folder.*
import com.cloudbees.hudson.plugins.foldersplus.*
import jenkins.model.Jenkins;
import nectar.plugins.rbac.strategy.*;
import hudson.security.*;
import nectar.plugins.rbac.groups.*;
import nectar.plugins.rbac.roles.*;
String folderName = 'Project-B'
folderItem = Jenkins.instance.getAllItems(Folder.class).find{it.name.equals(folderName)}
String groupName = "membersOfProject-B"
GroupContainer container = GroupContainerLocator.locate(Jenkins.getInstance())
Group group = new Group(container, groupName)
group.doAddMember('mike')
group.doGrantRole('develop', 0, Boolean.TRUE)
container.addGroup(group)
【问题讨论】:
-
您可以为此使用简单的 ansible 脚本..
-
还有其他选择吗?因为我有一半的脚本在 groovy 中。是否有链接或文档可以指导我在下面创建组是我在脚本控制台中运行的脚本。
-
@Mike 你有幸使用 rbac 插件吗?我有一个与您类似的代码,但只是没有创建该组。该脚本不会抛出任何异常或错误
-
@Mike 使用上面的确切脚本,我收到类似 WorkflowScript: 13: unable to resolve class GroupContainer 的错误
-
所有请检查我发布的答案。它有一个我可以创建的完整脚本。
标签: jenkins jenkins-plugins jenkins-cli