有没有办法在 Jenkins 作业参数中询问用户问题?
Is there any way to ask user questions in Jenkins job parameter?
我想在 he/she 构建之前问用户一些问题。问题会像
你确定你已经包含了所有文件吗?(答案:是,否)
您是否在 JIRA 中创建了与此修复相关的工单?(答案:是,否)
有什么办法吗?有没有可用的插件?
您可以在管道构建中使用 input,将您感兴趣的问题提供给用户。您可以在 Jenkins 的官方文档中阅读更多用法 - https://jenkins.io/doc/pipeline/steps/pipeline-input-step/
自由式作业可以配置为使用参数构建。看:
https://wiki.jenkins.io/display/JENKINS/Parameterized+Build
您可以配置参数类型(字符串、布尔值、下拉列表等),提供参数说明和默认值。作业参数甚至可以包含更复杂的内容,例如验证规则:
https://wiki.jenkins.io/display/JENKINS/Validating+String+Parameter+Plugin
或groovy脚本:
https://wiki.jenkins.io/display/JENKINS/Dynamic+Parameter+Plug-in
或者一个参数列表中显示的值会根据另一个参数列表的值而变化:
https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin
然后您的用户必须通过使用参数进行构建来开始工作 - 实际上会显示参数和描述(有点像被问到的问题)。
可以在使用 'Prepare an environment for the run' 中的 'Prepare an environment for the run' 启动构建步骤之前进行进一步验证:
https://wiki.jenkins.io/display/JENKINS/EnvInject+Plugin
可以根据用户响应将构建步骤设为可选,使用:
https://wiki.jenkins.io/display/JENKINS/Conditional+BuildStep+Plugin
或者
https://wiki.jenkins.io/display/JENKINS/Groovy+plugin
我已经使用以上所有方法来优化用户的选择以及这些选择的完成情况 with/because。我在计划升级到管道的过程中使用 Jenkins 2.116。
我想在 he/she 构建之前问用户一些问题。问题会像
你确定你已经包含了所有文件吗?(答案:是,否)
您是否在 JIRA 中创建了与此修复相关的工单?(答案:是,否)
有什么办法吗?有没有可用的插件?
您可以在管道构建中使用 input,将您感兴趣的问题提供给用户。您可以在 Jenkins 的官方文档中阅读更多用法 - https://jenkins.io/doc/pipeline/steps/pipeline-input-step/
自由式作业可以配置为使用参数构建。看:
https://wiki.jenkins.io/display/JENKINS/Parameterized+Build
您可以配置参数类型(字符串、布尔值、下拉列表等),提供参数说明和默认值。作业参数甚至可以包含更复杂的内容,例如验证规则:
https://wiki.jenkins.io/display/JENKINS/Validating+String+Parameter+Plugin
或groovy脚本:
https://wiki.jenkins.io/display/JENKINS/Dynamic+Parameter+Plug-in
或者一个参数列表中显示的值会根据另一个参数列表的值而变化:
https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin
然后您的用户必须通过使用参数进行构建来开始工作 - 实际上会显示参数和描述(有点像被问到的问题)。
可以在使用 'Prepare an environment for the run' 中的 'Prepare an environment for the run' 启动构建步骤之前进行进一步验证:
https://wiki.jenkins.io/display/JENKINS/EnvInject+Plugin
可以根据用户响应将构建步骤设为可选,使用:
https://wiki.jenkins.io/display/JENKINS/Conditional+BuildStep+Plugin
或者
https://wiki.jenkins.io/display/JENKINS/Groovy+plugin
我已经使用以上所有方法来优化用户的选择以及这些选择的完成情况 with/because。我在计划升级到管道的过程中使用 Jenkins 2.116。