通过 API 创建新工作项时,无法获取 TFS 中“AssignedTo”字段的有效用户列表

发布于 2024-08-08 07:13:01 字数 963 浏览 1 评论 0原文

您好,我正在尝试通过 TFS API 创建新的工作项,这是我在下面使用的方法来获取可以分配工作项的有效用户列表。不知何故,它在 validUserSids 行上给了我一个空引用异常。有人知道这里出了什么问题吗?

private string[] TFSUsers(string server)
    {
        // Get a Reference to Team Foundation Server.
        TeamFoundationServer tfs = tfsdata.GetTFS(server);
        // Get a reference to Group Security Service.
        IGroupSecurityService gss = (IGroupSecurityService)tfs.GetService(typeof(IGroupSecurityService));
        // Resolve to SIDs
        Identity validUserSids = gss.ReadIdentity(SearchFactor.AccountName, "TFS Valid Users", QueryMembership.Expanded);
        // Resolve to actual users
        Identity[] validUsers = gss.ReadIdentities(SearchFactor.Sid, validUserSids.Members, QueryMembership.None);
        List<string> Users = new List<string>();
        foreach (Identity user in validUsers)
        {
            Users.Add(user.DisplayName);
        }
        return Users.ToArray();
    }

Hi I am trying to create new workitems via the TFS API and this is the method I have used below to get a list of valid users who can be assigned workitems. Somehow, it gives me a null reference exception on validUserSids line. Anyone know what's wrong here?

private string[] TFSUsers(string server)
    {
        // Get a Reference to Team Foundation Server.
        TeamFoundationServer tfs = tfsdata.GetTFS(server);
        // Get a reference to Group Security Service.
        IGroupSecurityService gss = (IGroupSecurityService)tfs.GetService(typeof(IGroupSecurityService));
        // Resolve to SIDs
        Identity validUserSids = gss.ReadIdentity(SearchFactor.AccountName, "TFS Valid Users", QueryMembership.Expanded);
        // Resolve to actual users
        Identity[] validUsers = gss.ReadIdentities(SearchFactor.Sid, validUserSids.Members, QueryMembership.None);
        List<string> Users = new List<string>();
        foreach (Identity user in validUsers)
        {
            Users.Add(user.DisplayName);
        }
        return Users.ToArray();
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白色秋天 2024-08-15 07:13:01

以下是获取 TFS 中用户列表的方法:

var tfs = TeamFoundationServerFactory.GetServer("http://vstspioneer:8080/tfs/VSTSDF");
var workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));
var allowedValues = workItemStore.FieldDefinitions[CoreField.AssignedTo].AllowedValues;

foreach (String value in allowedValues)
{
    Console.WriteLine(value);
}

Here's how you would get the list of users in TFS:

var tfs = TeamFoundationServerFactory.GetServer("http://vstspioneer:8080/tfs/VSTSDF");
var workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));
var allowedValues = workItemStore.FieldDefinitions[CoreField.AssignedTo].AllowedValues;

foreach (String value in allowedValues)
{
    Console.WriteLine(value);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文