다음을 통해 공유


프로세스 템플릿 플러그 인 파일을 사용하여 루트 작업 정의

ProcessTemplate.xml을 사용자 지정하여 프로세스 템플릿 플러그 인 파일이 처리되는 순서를 추가, 제거 또는 변경할 수 있습니다. ProcessTemplate.xml은 전체 프로세스 템플릿과 모든 하위 XML 파일을 정의하는 루트 파일입니다. 이 파일에는 팀 프로젝트를 성공적으로 만들기 위해 실행해야 하는 모든 작업 그룹이 포함됩니다. 각 작업 그룹은 특정 작업이 정의되어 있는 하위 XML 파일을 참조합니다. 이 XML 파일은 대개 하위 폴더에 있습니다. 일반적으로 각 플러그 인에 작업 그룹을 하나씩 지정합니다.

기본 TFS 프로세스 템플릿에 대해 자세히 알아보려면 여기를 참조하십시오. 프로세스 템플릿 플러그 인 파일에 대해 알아보려면 여기를 참조하십시오.

항목 내용

  • ProcessTemplate.xml 파일의 구조

  • 플러그 인 및 작업 그룹 정의

  • 예제 프로세스 템플릿 파일

ProcessTemplate.xml 파일의 구조

각 ProcessTemplate.xml 파일에서 메타데이터와 작업 그룹을 정의합니다. 메타데이터는 다음 예제와 같이 템플릿을 설명하고 처리할 플러그 인을 지정합니다.

<metadata>
    <name>MSF for Agile Software Development 2013</name>
    <description>This template is flexible and will work great for most teams using Agile planning methods, including those practicing Scrum.</description>
    <plugins>
      <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true" />
. . .
    </plugins>
</metadata>

작업 그룹은 다음 예제와 같이 각 플러그 인에 대해 수행할 작업과 종속성을 지정합니다.

<groups>
    <group id="Classification" description="Structure definition for the project." completionMessage="Project Structure uploaded.">
      <dependencies></dependencies>
      <taskList filename="Classification\Classification.xml" />
    </group>
    <group id="Groups" description="Create groups and assign permissions." completionMessage="Groups created and permissions assigned.">
      <dependencies>
        <dependency groupId="Classification" />
      </dependencies>
      <taskList filename="Groups and Permissions\GroupsandPermissions.xml" />
    </group>
. . .
</groups>

맨 위로 이동

플러그 인 및 작업 그룹 정의

ProcessTemplate 요소 및 해당 자식 요소를 사용하여 ProcessTemplate.xml 파일을 사용자 지정합니다. 각 요소의 구문에 대한 자세한 내용은 프로세스 템플릿 XML 요소 참조를 참조하십시오.

다음 정보를 표시된 순서대로 지정하여 처리할 루트 작업과 플러그 인을 정의합니다.

  1. name. 이 요소를 사용하여 프로세스 템플릿에 레이블을 할당합니다. 새 팀 프로젝트 마법사에서 다음 예제와 같이 이름을 기준으로 프로세스 템플릿을 지정합니다.

    <name>Simplified Process</name>
    

    필수적 요소로, 이 이름은 새 팀 프로젝트 마법사의 프로세스 템플릿 목록뿐 아니라 프로세스 템플릿 관리자 대화 상자에도 표시됩니다. 각 프로세스 템플릿의 이름은 팀 프로젝트 컬렉션 내에서 고유해야 하며 각 템플릿 이름이 254자를 넘지 않는 유니코드 문자여야 합니다. 기존 템플릿과 이름이 같은 템플릿을 업로드할 경우 기존 템플릿을 덮어씁니다.

  2. description. 이 요소를 사용하여 다음 예제와 같이 새 팀 프로젝트 마법사에서 프로세스 템플릿을 설명하는 텍스트를 정의합니다.

    <description>Choose the simple process for projects that require little or no overhead and have very low cost.</description>
    

    이 텍스트는 프로젝트 책임자 또는 관리자가 사용할 프로세스 템플릿을 결정할 때 새 팀 프로젝트 마법사의 프로세스 템플릿 선택 화면에 표시됩니다. 일반적으로 팀의 규모, 기한, 비용 및 기타 요인의 관점에서 프로세스 템플릿이 어떠한 종류의 프로젝트에 유용한지를 설명합니다.

  3. 플러그 인. pluginsplugin 요소를 사용하여 프로세스 템플릿에서 사용되는 플러그 인 집합을 정의합니다. 하위 XML 파일에서 플러그 인을 참조하는 경우에는 해당 플러그 인이 이 목록에 표시되는지 확인해야 합니다. 또한 wizardPage 특성 값을 true 또는 false로 지정하여 플러그 인에 새 팀 프로젝트 마법사의 페이지가 필요한지 여부도 나타내야 합니다. 팀 프로젝트를 만들 때 처리할 플러그 인 집합과 새 팀 프로젝트 마법사에 플러그 인 관련 페이지를 표시할지 여부를 지정해야 합니다.

    다음 XML에서는 Visual Studio ALM(Application Lifecycle Management)에 포함된 9가지 플러그 인에 각각 사용할 올바른 값을 보여 줍니다.

    <plugins>   <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true"/>   <plugin name="Microsoft.ProjectCreationWizard.Groups" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.WorkItemTracking" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.VersionControl" wizardPage="true"/>   <plugin name="Microsoft.ProjectCreationWizard.TestManagement" wizardPage="false" />   <plugin name="Microsoft.ProjectCreationWizard.Build" wizardPage="false" />   <plugin name="Microsoft.ProjectCreationWizard.Lab" wizardPage="false" /></plugins>
    
  4. 작업 그룹. groupsgroup 요소를 사용하여 작업 그룹을 정의합니다. 각 작업 그룹은 각 플러그 인을 처리하는 데 필요한 정보를 정의합니다. 각 작업 그룹은 처리할 작업 집합이 들어 있는 파일 및 다른 작업 그룹에 대한 그룹의 선택적 종속성을 지정합니다. 가장 일반적이고 쉬운 전략은 플러그 인 및 그룹당 taskList 요소를 한 개 만드는 것입니다.

    다음 예제에서는 기본 그룹 및 권한을 만드는 방법을 보여 줍니다. 특정 작업은 참조된 파일(GroupsandPermissions.xml)에서 정의됩니다. 이 작업 그룹에는 분류 그룹의 작업이 완료되어야 하는 종속성이 있습니다.

    <group id="Groups" description="Create groups and assign permissions." completionMessage="Groups created and permissions assigned.">   <dependencies>      <dependency groupId="Classification" />   </dependencies>   <taskList filename="Groups and Permissions\GroupsandPermissions.xml" /></group>
    

    각 작업 그룹에 대해 다음 정보를 정의합니다.

    1. ID. 플러그 인에 할당되는 고유 ID입니다.

    2. 설명. 새 팀 프로젝트 마법사의 플러그 인 작업을 설명하는 텍스트입니다.

    3. 완료 메시지. 플러그 인의 모든 작업이 완료된 경우 새 팀 프로젝트 마법사에 표시할 메시지입니다.

    4. (옵션) 오류 메시지. 플러그 인의 작업을 하나 이상 완료하지 못한 경우 새 팀 프로젝트 마법사에 표시할 메시지입니다.

    5. (옵션) 플러그 인 종속성. dependenciesdependency 요소를 사용하여 처리할 플러그 인의 종속성 집합을 정의합니다. 종속성은 현재 플러그 인 작업을 처리하기 전에 완료되어야 하는 플러그 인에 해당합니다.

    6. 작업 파일. tasklist 요소를 사용하여 플러그 인을 처리할 작업 집합이 들어 있는 파일을 지정합니다.

맨 위로 이동

예제 프로세스 템플릿 파일

다음 구문은 Microsoft Visual Studio Scrum에 대한 ProcessTemplate.xml 파일의 콘텐츠를 나열합니다.

<?xml version="1.0" encoding="utf-8"?>
<ProcessTemplate>
  <metadata>
    <name>Microsoft Visual Studio Scrum 2013</name>
    <description>This template is for teams who follow the Scrum methodology and use Scrum terminology.</description>
<version type="6B724908-EF14-45CF-84F8-768B5384DA45" major="3" minor="6" />
    <plugins>
      <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true" />
      <plugin name="Microsoft.ProjectCreationWizard.Groups" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.WorkItemTracking" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.VersionControl" wizardPage="true" />
      <plugin name="Microsoft.ProjectCreationWizard.TestManagement" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Build" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Lab" wizardPage="false" />
    </plugins>
  </metadata>
  <groups>
    <group id="Classification" description="Structure definition for the project." completionMessage="Project structure uploaded.">
      <dependencies>
</dependencies>
      <taskList filename="Classification\Classification.xml" />
    </group>
    <group id="Groups" description="Create groups and assign permissions." completionMessage="Groups created and permissions assigned.">
      <dependencies>
        <dependency groupId="Classification" />
      </dependencies>
      <taskList filename="Groups and Permissions\GroupsAndPermissions.xml" />
    </group>
    <group id="WorkItemTracking" description="Work item definitions uploading." completionMessage="Work item tracking tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
      </dependencies>
      <taskList filename="WorkItem Tracking\WorkItems.xml" />
    </group>
    <group id="VersionControl" description="Creating version control." completionMessage="Version control task completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
        <dependency groupId="WorkItemTracking" />
      </dependencies>
      <taskList filename="Version Control\VersionControl.xml" />
    </group>
    <group id="Build" description="Build default processes uploading." completionMessage="Build default processes uploaded.">
      <dependencies>
        <dependency groupId="VersionControl" />
        <dependency groupId="Groups" />
      </dependencies>
      <taskList filename="Build\Build.xml" />
    </group>
    <group id="Lab" description="Creating Lab." completionMessage="Lab task completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
        <dependency groupId="WorkItemTracking" />
        <dependency groupId="Build" />
      </dependencies>
      <taskList filename="Lab\Lab.xml" />
    </group>
    <group id="TestManagement" description="Test Management default configurations uploading." completionMessage="Test Management default configurations uploaded.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
        <dependency groupId="WorkItemTracking" />
      </dependencies>
      <taskList filename="Test Management\TestManagement.xml" />
    </group>
    <group id="Reporting" description="Project reports uploading." completionMessage="Project reporting tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="WorkItemTracking" />
        <dependency groupId="VersionControl" />
      </dependencies>
      <taskList filename="Reports\ReportsTasks.xml" />
    </group>
    <group id="Portal" description="Creating project portal site" completionMessage="Project portal tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Reporting" />
      </dependencies>
      <taskList filename="Windows SharePoint Services\WssTasks.xml" />
    </group>
  </groups>
</ProcessTemplate>

참고 항목

개념

프로세스 템플릿 파일 개요

프로세스 템플릿 사용자 지정

기타 리소스

프로세스 템플릿 XML 요소 참조