如何解决如何在更新的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 举报,一经查实,本站将立刻删除。