使用播种机作业创建Jenkins文件夹时,如何设置其所有者?
我已经使用编写了一个播种器作业,以创建一个预定义的作业集合。我还使用来控制哪些用户可以访问每个文件夹 现在,我需要将启动播种机作业的用户指定为文件夹的主要所有者 我尝试设置“将作业创建者分配为所有者”配置选项,但得到的结果是创建的文件夹的所有者是系统所有者使用播种机作业创建Jenkins文件夹时,如何设置其所有者?,jenkins,jenkins-job-dsl,Jenkins,Jenkins Job Dsl,我已经使用编写了一个播种器作业,以创建一个预定义的作业集合。我还使用来控制哪些用户可以访问每个文件夹 现在,我需要将启动播种机作业的用户指定为文件夹的主要所有者 我尝试设置“将作业创建者分配为所有者”配置选项,但得到的结果是创建的文件夹的所有者是系统所有者 有没有一种方法可以通过编程方式设置文件夹的主要所有者?查看文件夹的配置XML以了解信息的存储方式: <com.cloudbees.hudson.plugins.folder.Folder plugin="cloudbees-folde
有没有一种方法可以通过编程方式设置文件夹的主要所有者?查看文件夹的配置XML以了解信息的存储方式:
<com.cloudbees.hudson.plugins.folder.Folder plugin="cloudbees-folder@6.1.2">
<!-- ... -->
<properties>
<!-- ... -->
<org.jenkinsci.plugins.ownership.model.folders.FolderOwnershipProperty plugin="ownership@0.10.0">
<ownership>
<ownershipEnabled>true</ownershipEnabled>
<primaryOwnerId>admin</primaryOwnerId>
<coownersIds class="sorted-set">
<string>daspilker</string>
</coownersIds>
</ownership>
</org.jenkinsci.plugins.ownership.model.folders.FolderOwnershipProperty>
<!-- ... -->
</properties>
<!-- ... -->
</com.cloudbees.hudson.plugins.folder.Folder>
符合事实的
管理
达斯皮尔克
然后您可以使用a来创建带有作业DSL的配置。最后,我可以通过将当前使用的名称作为
currentBuild
变量的原因来实现这一点,然后使用configure
步骤将其分配到文件夹,如下所示:
user = currentBuild.getCause(Cause.UserIdCause)
folder("MyFolder") {
configure { folder ->
folder / 'properties' / 'org.jenkinsci.plugins.ownership.model.folders.FolderOwnershipProperty' / 'ownership' {
primaryOwnerId(user.getUserId())
ownershipEnabled('true')
}
}
}
如果有人能提供一个不那么冗长的方法来做这件事,我会把它标记为公认的答案