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

Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

ProcessTemplate.xml 사용자 지정하여 프로세스 템플릿 플러그 인 파일이 처리되는 순서를 추가, 제거 또는 변경할 수 있습니다. ProcessTemplate.xml은 전체 프로세스 템플릿과 모든 하위 XML 파일을 정의하는 루트 파일입니다. 이 파일에는 프로젝트를 성공적으로 만들기 위해 실행해야 하는 모든 작업 그룹이 포함되어 있습니다. 각 작업 그룹은 특정 작업이 정의되어 있는 하위 XML 파일을 참조합니다. 이 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>Choose the simple process for projects that require little or no overhead and have very low cost.</description>  
    

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

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

    중요

    웹 포털에서 프로젝트를 만들면 여러 프로세스 템플릿 파일이 무시됩니다. 특히 보고서 관리자 사이트와 SharePoint 프로젝트 포털을 만드는 파일은 지원되지 않습니다.

    온-프레미스 TFS에서 이러한 기능을 사용할 수 있도록 하려면 Visual Studio 또는 팀 탐색기에서 프로젝트를 만듭니다. 자세한 내용은 프로세스 템플릿 및 플러그 인 파일, 프로젝트 만들기에 대한 클라이언트 지원을 참조하세요.

    다음 XML은 Visual Studio ALM(애플리케이션 수명 주기 관리)에 포함된 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. 작업 그룹. 그룹그룹 요소를 사용하여 작업 그룹을 정의합니다. 각 작업 그룹은 각 플러그 인을 처리하는 데 필요한 정보를 정의합니다. 각 작업 그룹은 처리할 작업 집합이 들어 있는 파일 및 다른 작업 그룹에 대한 그룹의 선택적 종속성을 지정합니다. 가장 일반적이고 쉬운 전략은 플러그 인당 그룹당 하나의 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. (선택 사항) 플러그 인 종속성. 종속성종속성 요소를 사용하여 처리할 플러그 인에 대한 종속성 집합을 정의합니다. 종속성은 현재 플러그 인 작업을 처리하기 전에 완료되어야 하는 플러그 인에 해당합니다.

    6. 작업 파일입니다. tasklist 요소를 사용하여 플러그 인을 처리할 작업 집합이 포함된 파일을 지정합니다.

예제 프로세스 템플릿 파일

다음 구문은 스크럼 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 요소 참조
프로세스 템플릿 파일 개요
프로세스 사용자 지정