【问题标题】:How to set value in "AssignedTo" field in TFS programatically while creating a UserStory?创建UserStory时如何以编程方式在TFS的“AssignedTo”字段中设置值?
【发布时间】:2015-05-22 11:02:10
【问题描述】:

代码:

// 创建用户故事

    var collectionUri = new Uri(txtTFS.Text);
    var tpc = new TfsTeamProjectCollection(collectionUri);
    var workItemStore = tpc.GetService<WorkItemStore>();
    var teamProject = workItemStore.Projects[txtSelectedProject.Text];

    var typeWorkItem = ConfigurationManager.AppSettings["WorkItemType"];
    var workItemType = teamProject.WorkItemTypes[typeWorkItem];

    var userStory = new WorkItem(workItemType)
    {
        Title = "Test Title",
        Description = "Test Description",
        IterationPath = "xx\\yy\\zz",
        AreaPath = "xxx\\yyy\\zzz",
        State = "New",
        // "AssignedTo" field not populated here...
    };

    // Save the new user story.
    userStory.Save();

如何在创建UserStory 时以编程方式在TFS"AssignedTo" 字段中设置值?

【问题讨论】:

    标签: c# .net c#-4.0 tfs tfs-sdk


    【解决方案1】:

    只有每个工作项类型上的字段在WorkItem 类上都有自己的属性。

    您应该使用WorkItem.Fields 属性来访问任何不是属性的字段。

    userStory.Fields["System.AssignedTo"].Value = "JJJ";
    

    您不能真正在对象初始化器语法中使用带有索引器的属性,因此您必须在 .Save(); 之前换行

    【讨论】:

    • @DaveShaw 我为 TargetRelease、StoryPoints 和没有属性的类似字段尝试了这个,我的程序崩溃并说字段定义不存在,你知道我可以如何设置这些?谢谢
    • @Alex 字段名称不在System. 中。如果您将鼠标悬停在 Work Item 表单(web 或 VS)上的标签上,您将看到一个完整的字段名称,例如“Story Points”——您可以使用它来代替。您还可以使用witadmin 命令行工具列出所有字段,参数为listfields
    • @DaveShaw 感谢您的回复,我将在今天晚些时候对此进行测试,非常感谢
    • @DaveShaw 只是想让您知道,您的回答非常有帮助,再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多