Azure Pipeline发布时如何通过带复选框/文本框的Web UI输入变量?
Azure Pipeline 自定义Web UI输入变量触发发布的实现方案
内置方案:使用手动干预任务(Manual Intervention)
这是Azure DevOps官方原生支持的能力,无需额外工具即可实现带表单的Web交互:
- 在Release Pipeline的目标阶段中添加「Manual Intervention」任务
- 编辑任务时,在「Instructions」区域通过特定语法定义表单字段:
- 文本框:
[TextInput]请输入版本号: - 复选框:
[Checkbox]是否启用测试环境: - 下拉选择:
[Dropdown]选择部署环境:|Dev|Test|Prod
- 文本框:
- 触发发布后,流程会暂停在该任务,用户通过Azure DevOps的Web界面填写表单并提交,后续任务可直接通过变量引用输入值(如
$(请输入版本号)、$(是否启用测试环境)),提交后流程自动继续执行。
扩展方案:借助Azure DevOps Marketplace扩展
如果需要更丰富的UI组件(如多行文本、日期选择器),可以使用Marketplace中的第三方扩展:
- 搜索并安装如「Custom Input Prompt」「Release Input Form」类的扩展
- 在Release Pipeline中添加对应扩展任务,配置所需的输入字段类型和变量名
- 用户触发发布时,通过扩展提供的Web表单输入数据,后续任务通过配置的变量名获取值。
自定义方案:Web应用+Azure DevOps API
若需要完全定制UI样式和交互逻辑,可自行开发轻量Web应用结合API实现:
- 开发Web页面,添加所需的文本框、复选框等输入控件
- 用户提交输入后,Web应用调用Azure DevOps的Release创建API,将输入值作为发布变量传入:
POST https://vsrm.dev.azure.com/{组织名}/{项目名}/_apis/release/releases?api-version=7.1-preview.8 Body: { "definitionId": 你的发布定义ID, "variables": { "VersionNumber": { "value": "用户输入的版本号" }, "EnableTestEnv": { "value": "用户选择的复选框状态" } } } - Release Pipeline中预先定义对应变量,后续任务直接引用这些变量执行即可。
内容的提问来源于stack exchange,提问作者ksk
相关产品推荐
相关产品推荐

