在网上找到的较早的Building devops扩展示例中,在创建将选项卡添加到积压区域的扩展时,可以使用VSS.getWebContext();
获取有关当前项目和所选团队的一些信息。
但是,较新的SDK不再提供这种方法。那么仍然有可能弄清楚我目前选择的团队是什么?
答案 0 :(得分:0)
在新的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。
答案 1 :(得分:0)
在上下文中,我需要获取团队ID,实际上可以从新的SDK中获取它。
初始化后,如果我执行以下config.team,则同时具有团队ID和团队名称。
const config = SDK.getConfiguration();
const teamname = config.team.name;