微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在更新的azure-devops-extension-sdk包中获取当前的团队ID

如何解决如何在更新的azure-devops-extension-sdk包中获取当前的团队ID

在网上找到的较早的Building devops扩展示例中,在创建将选项卡添加到积压区域的扩展时,可以使用VSS.getWebContext();获取有关当前项目和所选团队的一些信息。

但是,较新的SDK不再提供这种方法。那么仍然有可能弄清楚我目前选择的团队是什么?

解决方法

在新的azure-devops-extension-sdk中,您似乎只能获得与当前页面关联的项目:

import * as SDK from "azure-devops-extension-sdk";
import { CommonServiceIds,IProjectPageService } from "azure-devops-extension-api";
const projectService = await SDK.getService<IProjectPageService>(CommonServiceIds.ProjectPageService);
const project = await projectService.getProject();

如果扩展程序需要为用户提供选择团队的方式,则可以使用Teams REST API获取当前项目的团队列表。这是一个如何从您的扩展程序中调用此API的示例:

VSS.require(["VSS/Service","TFS/Core/RestClient"],function(VSS_Service,Tfs_Core_WebApi) {
      var client = VSS_Service.getCollectionClient(Tfs_Core_WebApi.CoreHttpClient4);
  
      client.getTeams(VSS.getWebContext().project.id).then(
         function(teams) {
            console.log(teams);
         }
      );
});

有关提供团队选择器控件的扩展示例,请参见Team Calendar

,

在上下文中,我需要获取团队ID,实际上可以从新的SDK中获取它。

初始化后,如果我执行以下config.team,则同时具有团队ID和团队名称。

const config = SDK.getConfiguration();
const teamname = config.team.name;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。