Поделиться через


Создание рабочего элемента с помощью клиентской объектной модели для Team Foundation

Ошибки, задачи и другие типы объектов "WorkItem" можно создавать, используя следующую процедуру.

  1. Создайте WorkItem.

  2. Задайте значения для обязательных полей.

  3. Сохраните WorkItem.

Пример

В зависимости от типа созданного WorkItem большинство обязательных Fields имеют значения по умолчанию. Если эти значения вас устраивают, их не нужно настраивать явно. Например, можно создать пользовательскую историю, как определено в MSF for Agile Software Development для Visual Studio ALM. Для этого типа объекта "WorkItem" Fields "Состояние", "Причина" и "Кому назначено" обязательны и содержат значения по умолчанию. При создании пользовательской истории состояние по умолчанию — "Активно", причина по умолчанию — "Новое", а значение по умолчанию поля "Кому назначено" соответствует текущему пользователю. При этом поле "Заголовок" является обязательным, но не имеет значения по умолчанию. Поэтому при создании пользовательской истории вам потребуется задать заголовок. Дополнительные сведения см. в разделах Пользовательская история (Agile) [перенаправление] и Подробная информация о возможностях настройки в Visual Studio TFS. В следующем примере демонстрируется создание пользовательской истории, настройка обязательного заголовка и настройка необязательного описания.

Описание функциональности пользователей

Для использования этого примера

  1. Создайте консольное приложение C# (или Visual Basic).

  2. Добавьте ссылки на следующие сборки:

  3. Замените содержимое Program.cs (или Module1.vb) кодом из этого примера.

using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;

namespace WorkItemTrackingSample
{
    class Program
    {
        static void Main(string[] args)
        {            // Connect to the server and the store, and get the WorkItemType object
            // for user stories from the team project where the user story will be created. 
            Uri collectionUri = (args.Length < 1) ?
                new Uri("http://server:port/vdir/DefaultCollection") : new Uri(args[0]);
            TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(collectionUri);
            WorkItemStore workItemStore = tpc.GetService<WorkItemStore>();
            Project teamProject = workItemStore.Projects["DinnerNow"];
            WorkItemType workItemType = teamProject.WorkItemTypes["User Story"];

            // Create the work item. 
            WorkItem userStory = new WorkItem(workItemType)
            {
                // The title is generally the only required field that doesn’t have a default value. 
                // You must set it, or you can’t save the work item. If you’re working with another
                // type of work item, there may be other fields that you’ll have to set.
                Title = "Recently ordered menu",
                Description =
                    "As a return customer, I want to see items that I've recently ordered."
            };

            // Save the new user story. 
            userStory.Save();
        }
    }
}
Imports System
Imports Microsoft.TeamFoundation.Client
Imports Microsoft.TeamFoundation.WorkItemTracking.Client
Module Module1

    Sub Main(ByVal sArgs() As String)
        ' Connect to the server and the store and get the WorkItemType object
        ' for user stories from the team project where the user story will be created.

        Dim collectionUri As Uri
        If sArgs.Length = 0 Then
            collectionUri = New Uri("https://Server:8080/tfs/DefaultCollection")
        Else
            collectionUri = New Uri(sArgs(1))
        End If

        Dim tpc As New TfsTeamProjectCollection(collectionUri)
        Dim workItemStore As WorkItemStore
        workItemStore = tpc.GetService(Of WorkItemStore)()
        Dim teamProject As Project
        teamProject = workItemStore.Projects("DinnerNow")
        Dim workItemType As WorkItemType
        workItemType = teamProject.WorkItemTypes("User Story")

        ' Create the work item
        Dim userStory As New Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem(workItemType)

       ' The title is generally the only required field that doesn’t have a default value. 
       ' You must set it, or you can’t save the work item. If you’re working with another
       ' type of work item, there may be other fields that you’ll have to set.
        userStory.Title = "Recently Ordered Menu"
        userStory.Description = "As a return customer, I want to see items that I've recently ordered"

        ' Save the new user story
        userStory.Save()



    End Sub

End Module

Примечание

Можно сохранить несколько объектов "WorkItem" или "WorkItemLink" в рамках одного цикла обработки, используя метод WorkItemStore.BatchSave.

См. также

Задачи

Изменение и сохранение рабочих элементов с помощью клиентской объектной модели для Team Foundation

Ссылки

BatchSave

Основные понятия

Расширение системы отслеживания рабочих элементов с помощью клиентской объектной модели для Team Foundation

Написание кода для рабочих элементов различных типов с помощью клиентской объектной модели для Team Foundation