다음을 통해 공유


상태, 전환 또는 이유를 기반으로 필드 할당 자동화

업데이트: 2011년 1월

Visual Studio ALM(Application Lifecycle Management) 내부에서 발생하는 이벤트나 Visual Studio ALM 외부에서 발생하는 이벤트를 기반으로 작업 항목의 상태를 다른 상태로 자동으로 전환할 수 있습니다. 예를 들어 호출 추적 도구에서 발생하는 이벤트를 기반으로 버그 상태의 전환을 자동화할 수 있습니다. 작업 항목 형식 모델 및 작업 항목 추적 API는 다른 시스템에서 작업 항목을 자동으로 전환할 수 있도록 확장됩니다.

작업 항목의 상태를 변경하는 코드가 있는 경우 ACTION 요소를 사용하여 작업을 적절한 상태 전환과 연결하는 방법으로 코드를 일반화할 수 있습니다. 작업 값을 [WorkItem.GetNextState] 메서드에 전달하여 해당 작업 항목의 작업 후 상태를 가져올 수 있습니다. 버전 제어 체크 인 대화 상자에서는 이 메서드를 사용하여 버그를 해결하고 체크 인과 연결된 작업을 닫습니다.

ACTION은 ACTIONS의 선택적 자식 요소입니다.

참고

Microsoft 웹 사이트의 Team Foundation 확장 페이지에 설명된 것처럼 작업 항목 추적 API는 Visual Studio ALM SDK의 일부입니다.

예를 들어 사용자가 변경 내용을 체크 인하면 작업 항목을 자동으로 "해결됨" 상태로 전환하도록 도구에 미리 설정되어 있습니다. 그러나 통합 공급자는 작업 항목 형식 작성자가 어떤 상태를 "해결됨"으로 선언했는지 알 수 없습니다. 작성자는 해결됨, 닫힘, 완료됨, 테스트 준비 완료, 빌드에 포함 등의 상태를 의미하려고 했을 수 있습니다. 모든 작업 항목 형식 작성자가 명시적으로 "해결됨"으로 명명된 상태를 포함하도록 하는 방법을 사용할 수도 있습니다.

하지만 이 방법은 너무 제한적입니다. 또한 상태를 지역화할 수 없으므로 국제적 관점에서도 바람직하지 않습니다. 대신 시스템 통합 전문가가 "체크 인" 또는 "완료"와 같이 작업 항목 자동 전환을 발생시키는 작업을 선언할 수 있습니다. 그러면 작업 항목 형식 작성자가 적절한 전환에 대해 이 작업을 선언할 수 있습니다.

항목 내용

  • ACTION 요소의 구문

  • 자동화를 지원하기 위한 필수 단계

  • 작업에 상태 전환 연결

  • 전환 작업 정보

  • 자동 전환 오류 검사

ACTION 요소의 구문

다음 구문은 ACTION 요소에 사용됩니다. 값 특성은 필수적 요소로서, 작업의 이름을 지정합니다. 필드 참조 이름에 적용되는 것과 동일한 작업 명명 규칙을 따라야 합니다. 예를 들어 Team Foundation 버전 제어에서는 Microsoft.VSTS.Actions.CheckIn을 사용하여 체크 인과 연결된 작업 항목에 적절한 전환을 식별합니다. 자세한 내용은 작업 항목 추적 개체의 명명 규칙을 참조하십시오.

<ACTION value="NameOfAction" />

minOccurs="0"

maxOccurs="unbounded"

자동화를 지원하기 위한 필수 단계

도구를 작업 항목 추적과 통합하려면 다음 단계를 수행해야 합니다.

  1. 작업을 수행했을 때 작업 항목이 전환될 대상 상태를 확인합니다.

  2. 작업 항목을 "to" 상태로 설정합니다.

    작업 항목 추적 API에서는 이러한 단계를 수행할 수 있는 다양한 메서드를 제공합니다. 작업 항목 추적 API는 Visual Studio ALM SDK의 일부입니다. 자세한 내용은 Microsoft 웹 사이트의 Team Foundation Server SDK 페이지를 참조하십시오.

    참고

    특정 상태 전환을 발생시킨 트랜잭션 작업은 기록되지 않습니다. 전환을 발생시킨 작업을 추적해야 하는 경우에는 작업 추적용 추가 작업 항목 필드를 지정하거나 이유 값을 정의하면 됩니다.

맨 위로 이동

작업에 상태 전환 연결

상태 전환 작업을 사용하여 워크플로의 여러 지점에서 작업 항목 전환을 자동화할 수 있습니다. 예를 들어 Team Foundation Server 버전 제어 시스템에서는 체크 인할 때 작업 항목 자동 전환을 지원해야 합니다. 이를 위해 "microsoft.vsts.actions.checkin" 작업이 정의되었습니다.

작업 항목 형식 작성자는 "작업 중" 상태가 설정된 "결함" 작업 항목 형식을 정의하고 개발자가 변경 작업을 수행하는 경우에 이 작업 항목을 사용할 수 있습니다. 작업 항목 형식 작성자는 "빌드 준비 완료"라는 다른 상태를 정의할 수 있습니다. 즉, 개발자가 오류의 영향을 받은 코드를 야간에 빌드하도록 선언했습니다.

작업 항목 형식 작성자는 다음과 같이 선언하여 체크 인 작업 중에 작업 항목의 상태를 "작업 중"에서 "빌드 준비 완료"로 자동으로 전환할 수 있습니다.

<TRANSITION from="Working" to="Ready To Build">
   <ACTIONS>
      <ACTION value="microsoft.vsts.actions.checkin"/>
   </ACTIONS>
</TRANSITION>

맨 위로 이동

전환 작업 정보

상태 전환 작업을 사용하여 워크플로의 여러 지점에서 작업 항목 전환을 자동화할 수 있습니다. 이때 전환 작업 사용과 관련하여 다음과 같은 내용을 고려해야 합니다.

  • 전환 작업은 선택적입니다. 작업 항목 인스턴스의 현재 상태에 특정 작업에 대한 작업 항목이 있으면 "to" 상태를 반환합니다. 그렇지 않으면 Null 값이 반환됩니다. 통합 과정에서는 Null 반환 값을 정상적으로 처리해야 합니다. 예를 들면 다음과 같습니다.

    • 실패로 처리하지 않습니다.

    • 필요한 작업을 찾을 수 없어서 통합 과정에서 자동 전환을 수행하지 못했음을 나타내는 추적 또는 로그를 기록합니다.

  • 각 작업 항목 형식의 작업은 From 상태/작업 쌍에 대해 고유해야 합니다. 즉, 작업 항목 형식 작성자는 같은 작업에 "to" 상태를 여러 개 지정할 수 없습니다.

  • 그러나 다음 예제와 같이 자동 전환 통합을 여러 개 실행할 수 있도록 같은 전환에 대해 여러 작업이 지원됩니다.

    <TRANSITION from="Working" to="Ready To Build">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.Checkin"/>
          <ACTION value="ADatum.Actions.Complete"/>
       </ACTIONS>
    </TRANSITION>
    
  • 작업 이름은 영어 문자만 사용할 수 있는 프로그래밍 이름입니다.

  • 공급업체와 고객 간에 작업 이름이 충돌하지 않도록 하기 위해 작업 이름은 필드 참조 이름과 동일한 참조 네임스페이스 규칙을 따라야 합니다. 그러나 이 규칙은 도구에서 적용되지 않습니다. Visual Studio ALM에서는 **Microsoft.VSTS.Actions.<your action>**을 사용합니다.

맨 위로 이동

자동 전환 오류 검사

통합자에서는 두 가지 형식의 자동 전환을 실행할 수 있습니다. 첫 번째 형식은 사용자 작업에 의해 발생하는 자동 전환입니다. 두 번째 형식은 야간 빌드와 같은 무인 자동화를 통해 발생하는 자동 전환입니다.

  • 사용자 작업 자동 전환   이 자동 전환 유형을 수행하는 경우에는 규칙과 관련된 모든 문제에 사용자가 반응해야 합니다. 작업 항목 형식의 작성자가 통합 과정에서 인식되지 않는 필수 필드를 추가하는 경우 발생하는 상황에 대처해야 합니다. 이러한 상황에 대처하려면 자동 전환을 수행한 다음, 작업 항목 형식을 검사하여 규칙 위반 사항이 있는지 확인합니다. 그 결과, 규칙 위반 사항이 발견되면 사용자가 해결할 수 있도록 폼을 표시합니다.

  • 무인 자동화 자동 전환   이 자동 전환 유형을 수행하는 경우에는 사용자가 이러한 문제를 해결하지 않는다고 가정해야 합니다. 문제가 발생할 경우에는 통합 과정을 안정적으로 중단하고 오류 로그에 자동 전환이 시도되었음을 나타내는 메시지를 작성하고, 오류 원인을 제시해야 합니다.

자동 전환을 정의하는 경우에는 전환이 끝날 때 사용자 작업 없이도 각 작업 항목이 유효한 상태를 유지하도록 정의해야 합니다. 즉, 전환 결과 상태에 대해 정의되는 모든 규칙은 모든 필드에 기본값 또는 복사된 값을 제공하여 충족됩니다. 전환 후에 필드 상태가 유효하지 않게 되면 상태 전환이 실패합니다.

필드 상태가 잘못되지 않게 하려면 다음을 수행합니다.

  • 상태 전환에 대한 DEFAULTREASON을 정의합니다.

  • 상태 전환 후 필수적 요소가 되는 필드의 경우 DEFAULT 또는 COPY 규칙 요소를 사용하여 필드 값을 지정합니다.

작업 항목의 상태를 "작업 중"에서 "빌드 준비 완료"로 전환하는 체크 인 전환 작업을 만든 경우를 예로 들어 보겠습니다. "빌드 준비 완료"에 대한 작업 항목의 규칙을 지정하려면 "해결한 사람" 필드를 설정해야 합니다. 그런 다음 TRANSITION 섹션에서 "ResolvedBy"에 대해 DEFAULT 또는 COPY 규칙 요소를 정의합니다. 또한 사용자 작업 없이도 필수 필드를 설정할 수 있도록 DEFAULTREASON을 정의합니다.

맨 위로 이동

참고 항목

개념

필드 규칙을 적용할 시기 및 위치

Associating a State Transition with an Action

변경 기록

날짜

변경 내용

이유

2011년 1월

ACTION 요소를 사용하여 필드 할당을 자동화하는 방법을 설명하는 항목을 통합하도록 다시 작성되었습니다.

향상된 기능 관련 정보