다음을 통해 공유


CreateNewWorkItem 작업

업데이트: 2007년 11월

기본적으로 Team Foundation Build에서는 컴파일 오류나 정적 분석 오류를 발견하면 새로운 작업 항목을 만듭니다. CreateNewWorkItem 작업은 지정된 제목과 설명을 사용하여 지정된 형식의 새로운 작업 항목을 만듭니다. Microsoft.VSTS.Build.FoundIn 필드는 BuildId 속성 값으로 설정되며 WorkItemFieldValues 속성에 지정된 사용자 지정 필드 값은 지정된 대로 설정됩니다.

매개 변수

속성

설명

TeamFoundationServerUrl

Team Foundation Server URL을 지정합니다(예: 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

만들어진 작업 항목에 대한 필드 이름 및 값의 목록을 지정합니다.

세미콜론으로 구분된 이름, 값 쌍의 목록으로 각 값을 지정합니다. 예를 들어 우선 순위=1, 심각도=2 및 등급=0을 설정하려면 아래 표시된 XML과 같이 이 MSBuild 속성을 정의합니다.

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

WorkItemType

작업 항목 형식을 지정합니다 (예: "버그").

유효한 작업 항목 형식이어야 합니다. 이 속성을 정의하지 않으면 기본적으로 작업 항목 형식이 버그로 지정됩니다.

설명

CreateNewWorkItem 작업은 Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll에 정의되어 있습니다. Microsoft.TeamFoundation.Build.targets 파일에는 Team Foundation Build에서 CoreGet 대상의 기본 구현으로 사용하는 CreateNewWorkItem 작업의 인스턴스가 포함되어 있습니다. TfsBuild.proj 파일에서 빌드 정의에 대해 다른 CreateNewWorkItem 작업 인스턴스를 정의하여 빌드 프로세스를 사용자 지정할 수도 있습니다.

Team Foundation Build 컴퓨터의 <root>:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\TeamBuild 폴더에는 Microsoft.TeamFoundation.Build.targets 파일이 들어 있습니다.

유효한 작업 항목 형식

각 팀 프로젝트는 특정 프로세스 템플릿을 사용하여 만들어집니다. Team Foundation에서 MSF for Agile Software Development 프로세스 템플릿은 버그, 서비스 품질, 위험, 시나리오 및 작업(Task)이라는 작업 항목 형식을 정의합니다. CMMI for Process Improvement 프로세스 템플릿은 버그, 변경 요청, 문제, 요구 사항, 검토, 위험, 시나리오 및 작업(Task)이라는 작업 항목 형식을 정의합니다. 기존 작업 항목 형식 정의를 사용자 지정하여 고유의 작업 항목 형식을 정의할 수도 있습니다. 자세한 내용은 작업 항목 형식 사용자 지정을 참조하십시오.

CreateNewWorkItem 작업에 정의된 작업 항목 형식은 빌드 통합에 유효해야 하며 FoundIn 필드를 정의해야 합니다. 자세한 내용은 작업 항목 형식에 통합 필드 추가를 참조하십시오.

기본 동작

WorkItemType 속성을 정의되지 않은 상태로 두면 CreateNewWorkItem 작업에 버그 작업 항목 형식이 사용됩니다.

WorkItemFieldValues 속성에 대한 참고 사항

WorkItemFieldValues는 작업 항목의 필드 값을 세미콜론으로 구분된 이름, 값 쌍의 목록으로 지정하는 데 사용됩니다. 존재하지 않는 필드 이름을 지정하면 해당 <이름, 값> 쌍이 무시됩니다. 예를 들어 심각도 필드를 1로 설정하려고 하는데 심각도가 작업 항목 형식에 정의되어 있지 않으면 입력 내용이 무시됩니다.

정의하는 작업 항목에 기본값이 없는 필수 필드가 있을 경우 WorkItemFieldValues 속성에 값을 제공해야 합니다. 예를 들어 제거 작업 항목 형식에는 우선 순위라는 필수 필드가 있으며 우선 순위에 지정할 수 있는 값은 0, 1, 2, 3이고 기본 설정은 지정되어 있지 않습니다. 필수 필드에 유효하지 않은 값을 지정하면 작업이 실패합니다. 예를 들어 우선 순위를 5로 설정하면 CreateNewWorkItem 작업이 실패합니다.

작업 항목의 만든 사람 및 상태 필드는 지정할 수 없습니다. CreatedBy 필드는 읽기 전용입니다. OM(개체 모델)을 추적하는 작업 항목에 의해 설정됩니다. 작업 항목 추적 OM에서 시작 상태가 여러 개 있을 수 없으므로 상태 필드를 지정할 수 없습니다.

예제

다음 예제에서는 빌드가 실패할 경우 만들어지는 작업 항목의 TfsBuild.proj 파일에서 WorkItemFieldValues를 설정합니다.

<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>

다음 예제에서는 빌드가 실패할 경우 TfsBuild.proj 파일의 CreateNewWorkItem 작업을 사용하여 사용자 지정 작업 항목을 만듭니다.

<!-- 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>

다음 예제에서는 Microsoft.TeamFoundation.Build.targets 파일에 정의되어 있는 기본 CreateNewWorkItem 작업 인스턴스를 보여 줍니다.

<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 Build 사용자 지정

Team Foundation Build 대상, 작업 및 속성

작업 항목 형식 스키마 참조