获取其他工作的描述

Get description of other job

有没有办法使用 groovy 获取除“currentBuild”之外的其他 jenkins 作业的描述? 我在尝试 jenkins.model.Jenkins.instance.getItem(<job_name>).lastBuild.getBuildVariables().get("Description"); 但它不起作用。它总是 returns jenkins.model.Jenkins.instance.getItem(<job_name>) 是一个空对象。

更难的是作业在项目(文件夹)中

https://jenkins.xxx/job/FOLDERJOBS/job/JOB_TO_BE_EXTRACTED

谢谢

我刚刚在我的脚本控制台中尝试了这个并且它有效。你能试试这个吗?

text="New Descritption" 
def jobName = "test/test1".split("/")
def it=Jenkins.instance
for(name in jobName){
   it=it.getItem(name)
}
it.description = text

您可能需要在 Manage Jenkins 中批准一些方法(白名单),以便在它给您权限错误的情况下使其正常工作。

只需使用jenkins.model.Jenkins.instance.getItemByFullName() instead of getItem()

该方法适用于完整的作业名称(包括文件夹),例如 FOLDERJOBS/JOB_TO_BE_EXTRACTED