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


Задание CreateNewWorkItem

Обновлен: Ноябрь 2007

По умолчанию, Team Foundation Build создает новый рабочий элемент при обнаружении ошибки компиляции или статической ошибки анализа. Задание CreateNewWorkItem создает новый рабочий элемент указанного типа и с указанным названием и описанием. Поле Microsoft.VSTS.Build.FoundIn получает значение свойства BuildId, любые настраиваемые значения полей, указанные в свойстве WorkItemFieldValues получают указанные значения.

Параметры

Свойство

Описание

TeamFoundationServerUrl

Задает URL-адрес Team Foundation Server. Например, http://MyServer:8080.

BuildNumber

Задает номер построения Team Foundation Build.

BuildURI

Задает универсальный код ресурса (URI) для построения.

Description

Указывает описание рабочего элемента. Значение по умолчанию для данного свойства указано в файле TFSBuild.proj или определении построения, как указано далее:

<!-- Description for the work item created on build failure -->
    <DescriptionText>This work item was created by Team Build on a build failure.</DescriptionText>

TeamProject

Задает имя командного проекта.

Title

Указывает название рабочего элемента.

WorkItemFieldValues

Указывает список имен полей и значений для созданного рабочего элемента.

Укажите эти значения в качестве пар имен и значений, разделенных точками с запятой. Например, если нужно задать priority=1, severity=2, а rank=0, определите свойство MSBuild как указано в XML ниже:

<PropertyGroup>
<WorkItemFieldValues>
   priority =1; severity=2; rank =0
</WorkItemFieldValues>
</PropertyGroup>

WorkItemType

Задает тип рабочего элемента. Пример, «ошибка».

Должен быть допустимым типом рабочего элемента. Если данное свойство не определено, по умолчанию типом рабочего элемента будет «ошибка».

Заметки

Задача CreateNewWorkItem определена в библиотеке Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll. Файл Microsoft.TeamFoundation.Build.targets содержит экземпляр задачи CreateNewWorkItem, которую Team Foundation Build использует как реализацию по умолчанию для целевого объекта CreateWorkItem. Настроить процесс построения можно, определив другой экземпляр задачи CreateNewWorkItem для определения построения в файле TfsBuild.proj.

Папка <корень>:\Program Files\MSBuild\Microsoft\VisualStudio\ v9.0\TeamBuild на компьютере Team Foundation Build содержит файл Microsoft.TeamFoundation.Build.targets.

Допустимые типы рабочих элементов

Каждый командный проект создается с определенной методологией. В Team Foundation, методология MSF для гибкой разработки программного обеспечения, определяет рабочие элементы ошибка, качество службы, риск, сценарий и задание. Методология CMMI для улучшения процесса, определяет типы рабочих элементов ошибка, запрос изменения, проблема, требование, обзор, риск, сценарий и задание. Настраивая существующие определения рабочих элементов, возможно создание собственного типа рабочего элемента. Дополнительные сведения см. в разделе Настройка типов рабочих элементов.

Рабочий элемент, определенный для задания CreateNewWorkItem должен подходить для построения интеграции и определять поле FoundIn. Дополнительные сведения см. в разделе Добавление полей интеграции в типы рабочих элементов.

Поведение по умолчанию

Если свойство WorkItemType не определять, задание CreateNewWorkItem использует тип рабочего элемента «ошибка».

Примечания по свойству WorkItemFieldValues

WorkItemFieldValues используется для указания значений полей рабочего элемента в качестве списка пар имя-значение, разделенных точками с запятыми. В случае использования несуществующего имени поля, соответствующая пара <имя, значение> игнорируется. Например, если уровень важности следует задать как 1, но она не определена в типе рабочего элемента, введенные данные игнорируются.

Если для определяемого рабочего элемента необходимы поля без значений, следует ввести значения в свойство WorkItemFieldValues. Например, тип рабочего элемента «дефект» имеет обязательное поле «приоритет». Значением поля может быть 0, 1, 2 или 3, значение по умолчанию не указано. Задание терпит неудачу при указании недопустимого значения для обязательного поля. Например, если для «приоритет» задать значение 5, задание CreateNewWorkItem потерпит неудачу.

Поля CreatedBy и State рабочего элемента, определить нельзя. Поле CreatedBy доступно только для чтения. Его заполняет рабочий элемент, отслеживающий объектную модель (OM). Поле состояния нельзя указать, поскольку отслеживающая OM не может иметь множество начальных состояний.

Пример

В следующем примере WorkItemFieldValues в файле TfsBuild.proj настраивается для создание рабочего элемента по ошибке построения.

<WorkItemFieldValues>Area Path=$(AreaPath);Iteration Path=$(IterationPath);Severity=1;Priority=0;Symptom=build break;Steps To Reproduce=Start the build using Team Build;Source=Development;How Found=Build Break;Assigned To=Jim Wilson</WorkItemFieldValues>

В следующем примере используется задание CreateNewWorkItem в файле TfsBuild.proj, для создания настраиваемого рабочего элемента по ошибке построения.

<!-- Add the UsingTask to the top of the TFsBuild.proj file after the schema definition-->
<UsingTask TaskName="Microsoft.TeamFounadtion.Build.Tasks.CreateNewWorkItem"   AssemblyFile="$(TeamBuildRefPath)\Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll" />
<!-- Add the following XML after the closing </ItemGroup>-->
<!-- and before the closing </Project>-->
</ItemGroup>
   <PropertyGroup>      <BuildNumber>BuildType_Date.1</BuildNumber>      <WorkItemFieldValues>Priority=1:Severity=2</WorkItemFieldValues>      <WorkItemType>Bug</WorkItemType>   </PropertyGroup>   <TargetName="CreateWorkItem">      <CreateNewWorkItem         BuildNumber="$(BuildNumber)"         BuildURi="$(BuildURI)"         Description="The CreateNewWorkItem task created this bug."         TeamProject"MyTeamProject"         TeamFoundationServerUrl="http://MyTFServer.8080"         Title="Bug in $(BuildNumber)"         WorkItemFieldValues="$(WorkItemFieldValues)"         WorkItemType="$(WorkItemType)" />   </Target>
</Project>

В следующем примере показан экземпляр по умолчанию задачи CreateNewWorkItem, определенный в файле Microsoft.TeamFoundation.Build.targets.

<CreateNewWorkItem
    TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
    BuildUri="$(BuildURI)"
    BuildNumber="$(BuildNumber)"
    Description="$(WorkItemDescription)"
    TeamProject="$(TeamProject)"
    Title="$(WorkItemTitle)"
    WorkItemFieldValues="$(WorkItemFieldValues)"
    WorkItemType="$(WorkItemType)"
    ContinueOnError="true" />

См. также

Задачи

Настройка номеров построений

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

Описание файлов конфигурации Team Foundation Build

Задачи Team Foundation Build

Другие ресурсы

Настройка построения Team Foundation

Цели, задачи и свойства Team Foundation Build

Справка по схемам типов рабочих элементов