我正在尝试做一个jenkins管道作为代码。我使用Github组织文件夹插件来扫描Github组织并为每个分支创建作业。有没有一种方法可以明确定义从Jenkinsfile获取的管道作业的名称?我也想为工作添加一些描述。从Jenkinsfile设置管道名称和描述
回答
您需要使用如下所示的currentBuild
。该node
部分是很重要的
node {
currentBuild.displayName = "$yournamevariable-$another"
currentBuild.description = "$yourdescriptionvariable-$another"
}
编辑:上面一个重命名建在那里为原来的问题是关于重命名工作。 在管道下面的脚本将这样做(这需要适当的权限)
item = Jenkins.instance.getItemByFullName("originalJobName")
item.setDescription("This description was changed by script")
item.save()
item.renameTo("newJobName")
嗨Jayan,感谢您的回复。我已经尝试了currentBuild.description选项。它显示为Build History部分中内部版本号下的标签。但是我期望以这种方式设置它们,使它们显示在作业的“查看配置”选项下。这是可行的吗? – HarshaB
没有看到插件选项中的一种方式。以上答案更新为使用renameTo api(您可能已经看到过) – Jayan
非常感谢Jayan。这就像一个魅力。正是我想要的。我必须确保我允许这些脚本在Jenkins-> In-Process脚本批准下批准运行。有没有办法在这里批准手动添加新类?我现在的做法是通过选择批准选项来选择我在此脚本中使用的任何类。它不允许我手动输入任何类并批准。 – HarshaB
我试图从接受的答案使用代码片段来描述Jenkinsfile我詹金斯管道。我不得不使用@NonCPS
注释将代码段包装到函数中,并使用def作为item变量。我把代码片段放在Jenkinsfile的根目录下,而不是在节点部分。
@NonCPS
def setDescription() {
def item = Jenkins.instance.getItemByFullName(env.JOB_NAME)
item.setDescription("Some description.")
item.save()
}
setDescription()
我来晚了就这一个党,但这个问题迫使我在#jenkins聊天,我今天花了我大部分的时间。我想感谢那次聊天中的@ tang ^,帮助我以优雅的方式解决这个问题。
要为孩子的工作内容和显示作业名在多支声明式管道使用以下步骤在一个阶段阻止:
steps {
script {
if(currentBuild.rawBuild.project.displayName != 'jobName') {
currentBuild.rawBuild.project.description = 'NEW JOB DESCRIPTION'
currentBuild.rawBuild.project.setDisplayName('NEW JOB DISPLAY NAME')
}
else {
echo 'Name change not required'
}
}
}
这将要求您批准各个脚本调用通过詹金斯沙箱审批方法,但它比我在网络上发现的有关重命名父管道的实际子项的任何其他事情都要简单得多。最后需要注意的是,这应该在Jenkins文件中工作,您可以使用环境变量来操作正在设置的作业项目。
- 1. 从Jenkins声明式管道设置构建名称和描述
- 2. 使用Win32 API设置程序描述和公司名称
- 3. 碳多重管道管和问题文件描述符
- 4. Jenkins管道Jenkinsfile:'node'和'pipeline'指令
- 5. Jenkinsfile管道中的SparseCheckout
- 6. 管道没有创建特定的管道描述符
- 7. 表名和循环描述
- 8. 按名称获取函数描述符:
- 9. 雅虎管道我如何对换标题和描述
- 10. 了解UNIX管道和文件描述符
- 11. 使用名称管道从PHP
- 12. 从其名称获取该地点的描述
- 13. Rspec的 - 访问描述名称描述方面,而不是在`it`
- 14. 通知位置描述中的[名词]
- 15. 名称和描述选择的筛选不能正常工作?
- 16. Enumdropdownlist用于扩展描述和短名称字段
- 17. 更改Swagger-ui中的名称和描述端点
- 18. Jenkins管道Jenkinsfile加载外部groovy类
- 19. NSObject描述和调试描述
- 20. 设置值和名称options_for_select
- 21. 使用ri_cal设置管理器名称
- 22. DX12描述符堆管理
- 23. 设置多个排序描述符
- 24. xcode 4构建设置描述
- 25. 设置摘要来描述当前值
- 26. 在MVC上设置描述属性
- 27. 在C++中设置Windows服务描述
- 28. 在WIX MSI描述设置标题
- 29. Elixir:如何正确描述mix.exs设置?
- 30. 詹金斯管道建设使用Jenkinsfile没有失败
你可以显示Jenkinsfile的片段吗? – Jayan
对于其他人希望更改工作/项目描述而不是构建说明,请参阅https://stackoverflow.com/questions/39200948/jenkins-multibranch-change-job-description-from-groovy – Mark