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

如何获取Azure DevOps冲刺待办面板迭代选择器的选中迭代?

获取Azure DevOps Sprint待办面板选中迭代的方法

SDK.getConfiguration只能获取扩展的静态配置参数,无法拿到用户动态选择的迭代,你可以通过以下两种方式实现需求:

方法一:订阅迭代切换事件

Azure DevOps页面会广播迭代选择变更的事件,通过VSS.EventService订阅ms.vss-work-web.iteration-changed事件,就能实时获取选中的迭代数据:

VSS.require(["VSS/Events"], function(Events) {
    // 订阅迭代变更事件
    Events.getService().attachEvent("ms.vss-work-web.iteration-changed", (args) => {
        const selectedIteration = args.iteration;
        // 拿到选中迭代的核心信息
        console.log("迭代ID:", selectedIteration.id);
        console.log("迭代名称:", selectedIteration.name);
        console.log("迭代路径:", selectedIteration.path);
    });
});

方法二:主动获取当前选中迭代

如果需要在页面加载时直接获取选中的迭代,可以解析页面URL的iterationId参数,再通过Work REST API获取迭代详情:

VSS.require(["TFS/Work/RestClient"], function(WorkClient) {
    // 获取当前项目和团队上下文
    const webContext = VSS.getWebContext();
    const workClient = WorkClient.getClient();

    // 解析URL中的迭代ID参数
    const urlParams = new URLSearchParams(window.location.search);
    const iterationId = urlParams.get("iterationId");

    if (iterationId) {
        // 调用API获取迭代详情
        workClient.getIteration(webContext.project.id, webContext.team.id, iterationId)
            .then(iteration => {
                console.log("当前选中迭代:", iteration);
            });
    }
});

注意事项

  • 扩展需要在vss-extension.json中声明vso.work权限:
    "scopes": [
        "vso.work"
    ]
    
  • 确保代码在VSS.init完成后执行,避免API调用失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 16:12:39