You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps扩展中动态传递工作项字段值到URL?

实现工作项字段动态传递到Azure DevOps扩展URL的方案

一、基于vsts-rest-multivalue扩展的实现步骤

  • 确认字段有效性:先确保目标工作项类型中已配置Custom.SearchText字段,且该字段在工作项表单中可编辑、可见。可通过Azure DevOps项目设置→工作项类型→对应类型→字段选项卡检查或添加。
  • 配置扩展的动态URL:
    在扩展的工作项表单配置界面中,找到URL输入项,使用扩展支持的Handlebars模板语法填写带字段引用的URL:
    https://www.google.com/search?q={{workitem.fields['Custom.SearchText']}}
    
    注意:这里的Custom.SearchText必须是字段的引用名称(可在字段设置中查看),如果字段名称包含空格或特殊字符,要使用正确的内部引用名。
  • 验证效果:
    创建或打开一个已填写Custom.SearchText字段值的工作项,点击扩展生成的链接,确认URL已替换为实际字段值(如字段值为AzureDevOps时,URL变为https://www.google.com/search?q=AzureDevOps)。若未生效,检查字段引用名是否正确,或尝试更新扩展版本。

二、其他替代解决方案

1. 自定义Azure DevOps工作项扩展

如果现有扩展无法满足需求,可自行开发轻量扩展实现该功能,核心逻辑是通过Azure DevOps SDK获取工作项字段值并动态生成链接:
关键代码示例(TypeScript):

import { WorkItemFormService } from "azure-devops-extension-api/WorkItemTracking";

async function renderDynamicLink() {
  const formService = await WorkItemFormService.getService();
  const searchText = await formService.getFieldValue("Custom.SearchText") as string;
  const targetUrl = `https://www.google.com/search?q=${encodeURIComponent(searchText)}`;
  
  // 将生成的URL渲染为页面链接
  const linkElement = document.createElement("a");
  linkElement.href = targetUrl;
  linkElement.target = "_blank";
  linkElement.textContent = "搜索当前内容";
  document.getElementById("extension-container").appendChild(linkElement);
}

开发完成后打包发布到Azure DevOps市场(或私有部署),添加到工作项表单即可使用。

2. 利用工作项规则+超链接字段

无需依赖扩展,通过内置功能实现动态链接:

  • 给目标工作项类型添加一个超链接类型的字段(如Custom.DynamicSearchLink)。
  • 进入工作项规则设置,新增“设置字段值”规则,触发条件设为Custom.SearchText字段值变更时。
  • 在规则的“设置字段值”配置中,选择Custom.DynamicSearchLink字段,使用表达式拼接URL:
    concat("https://www.google.com/search?q=", [Custom.SearchText])
    
    此后每当Custom.SearchText字段值更新,超链接字段会自动生成对应URL,用户直接点击该字段即可跳转。

内容的提问来源于stack exchange,提问作者KingRules

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 16:02:45