自定义工作项成员属性可选范围开发中怎么获取当前用户信息及当前项目信息
自定义工作项成员属性可选范围开发中怎么获取当前用户信息及当前项目信息
自定义工作项成员属性可选范围开发中怎么获取当前用户信息及当前项目信息
自定义工作项成员属性可选范围开发中怎么获取当前用户信息及当前项目信息
在 Azure DevOps 的自定义工作项成员属性开发中(例如,使用自定义控件或扩展),获取当前用户信息和当前项目信息可以通过 VSS SDK 提供的上下文 API 实现。以下是具体的方法和代码示例。假设您是在开发一个自定义控件(使用 HTML/JavaScript),用于在工作项表单中定义可选范围(如字段的允许值列表)。
在您的自定义控件脚本中,使用 VSS.getWebContext() 访问全局上下文对象。这个对象包含当前用户和项目的详细信息。以下是完整的代码示例:
// 导入必要的模块
VSS.require(["VSS/WebContext"], function(WebContext) {
// 获取全局上下文
var context = VSS.getWebContext();
// 获取当前用户信息(包括用户名、ID、邮件等)
var currentUser = context.user;
console.log("Current User Info:", currentUser); // 示例输出:{ id: "user-guid", name: "John Doe", email: "john@example.com" }
// 获取当前项目信息(包括项目ID、名称等)
var currentProject = context.project;
console.log("Current Project Info:", currentProject); // 示例输出:{ id: "project-guid", name: "MyProject", url: "https://dev.azure.com/org/_apis/projects/...") }
});
// 使用此信息在可选范围开发中,例如动态设置字段的允许值列表
// 示例:基于当前项目或用户过滤选项VSS.getWebContext() 是 Azure DevOps Web Extensions 的核心 API,它提供访问当前会话的上下文信息。不需要额外认证,因为它基于用户的浏览器会话。用户信息:
context.user 返回一个对象,包含 id(用户GUID)、name(用户名)、email等属性。常用于基于用户角色过滤可选范围(如只显示特定用户的选项)。项目信息:
context.project 返回一个对象,包含 id(项目GUID)、name(项目名称)等属性。在可选范围开发中,可用它动态加载基于项目的数据(如只列出当前项目的团队成员)。initialize 方法中),调用此代码来获取信息并设置字段的可选范围(如使用 allowedValues 属性)。注意事项:
ms.vss-work-web.work-item-form)。if (context))避免未定义错误。Core API 获取项目信息,Profile API 获取用户信息),但这需要 PAT(个人访问令牌)或 OAuth。如果需要更具体的示例(如如何集成到可选范围定义中),请提供更多上下文!