我想在 Jenkins 中有以下工作流程:
- 用户点击“立即构建”
- 用户填写构建参数
- 用户点击“构建”
- 生成信息(通过脚本)并与“继续”按钮一起呈现给用户
- 用户单击“继续”按钮,这只会触发另一个作业
如何才能做到这一点?
我想在 Jenkins 中有以下工作流程:
如何才能做到这一点?
作为使用 groovy 脚本插件的解决方案的替代方案,您可以使用Rich Text Publisher Plugin生成带有 REST 命令的按钮和信息- 您不必编写 groovy 脚本,只需编写标记。
它在构建执行后添加了一个自定义 html 标记来构建页面。它允许使用文件或环境变量配置消息。
在 Jenkins Pipeline 方法中用作
script{
currentBuild.displayName = Build_Display (this will be overwrite the Job number)
currentBuild.description = Build_description
}
使用该Execute shell
操作创建一个设置环境变量的 shell 脚本。例如:echo "BUILD_DESCRIPTION=example" >BUILD_DESCRIPTION.setting
。
使用该Inject environment variables
操作来执行 shell 脚本。
使用该Set build description
操作将构建描述设置为由 shell 脚本设置的变量(例如${BUILD_DESCRIPTION}
)。
创建一个更新构建描述的“执行系统 Groovy 脚本”。请参阅如何通过 REST API 提交 Jenkins 作业?在构建描述中创建一个按钮。
如果我理解正确,您需要一个“确认按钮”或“您确定”按钮:
在 Jenkins 管道中,您可以通过询问用户输入来做到这一点。
timeout(time: 15, unit: "MINUTES") {
input message: 'Are the info correct?'
}
这种方法的问题是,如果用户不采取任何行动,你会让一个 Jenkins 工作程序(或进程)运行最多 X 分钟,这会使 Jenkins 创建一个很长的构建队列。
这是文档。
如果我得到了你想做的正确的事情(更多来自标题,更少来自描述)你应该只使用这个Publisher Plugin:
如果没有帮助,请尝试在您的问题中添加更多信息。