Trello를 사용하여 Azure DevOps Services 및 TFS에 대한 서비스 후크 만들기

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure DevOps의 이벤트에 대한 응답으로 Trello에서 카드 및 목록을 만듭니다. 예를 들어 코드가 푸시되거나 빌드가 발생하는 경우입니다.

Trello 권한 부여 토큰 가져오기

  1. Trello 계정이 없는 경우 Trello등록합니다.

  2. Trello용 Azure DevOps Services 권한 부여 페이지로 이동하여 Trello 자격 증명으로 로그인합니다.

  3. Azure DevOps에서 Trello 계정을 사용하도록 허용합니다.

    Azure DevOps Services 허용

  4. 권한 부여 토큰을 복사합니다.

    Trello 권한 부여 토큰

Azure DevOps Services 이벤트에서 Trello 카드 또는 목록을 만듭니다.

  1. 프로젝트 서비스 후크 페이지로 이동합니다.

    https://{orgName}/{project_name}/_settings/serviceHooks

    프로젝트 관리 페이지

    구독 만들기를 선택합니다.

  2. Trello 서비스를 선택합니다.

    서비스 페이지, Trello 선택됨

  3. 트리거하는 Visual Studio 이벤트를 구성합니다. 이 경우 작업 항목을 만들 때 구독이 응답하도록 합니다.

    트리거 구성 페이지

  4. Trello가 트리거에 대한 응답으로 수행할 작업을 설정합니다( 카드 또는 목록 만들기).

    작업 구성 페이지

    자리 표시자를 사용하여 구독이 만드는 카드 목록의 이름과 설명에 이벤트의 콘텐츠를 삽입할 수 있습니다. 예를 들어 테스트 알림을 실행할 때 생성되는 카드 "버그 #5: 몇 가지 유용한 새 아이디어!"라는 이름이 지정됩니다. 테스트 작업 항목은 "몇 가지 유용한 새 아이디어!"라는 제목이 있는 버그(ID=5)이기 때문입니다.

  5. 서비스 후크 구독을 테스트하고 마법사를 완료합니다.

    테스트 알림

이제 설정되었습니다. Trello로 이동하여 카드 표시되는지 확인합니다.

버그에 대한 카드 있는 시작 보드 #5

자리 표시자

목록 이름이나 구독에서 만들 카드 이름 또는 설명에 자리 표시자를 삽입할 수 있습니다. 목록 또는 카드 만들어지면 자리 표시자는 발생한 이벤트의 값으로 대체됩니다. 이 페이지의 카드 이름에 사용한 예제는 다음과 같습니다.

    {{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}

따라서 ID 5와 제목이 "몇 가지 유용한 새 아이디어!"로 버그를 만들 때 카드 이름은 "버그 #5: 몇 가지 좋은 새로운 아이디어!"입니다.

자리 표시자의 기본 형식은 리소스가 {{resource.field}} 이벤트를 발생시키는 리소스의 이름(작업 항목, 빌드 등)이며 필드는 ID와 같은 이벤트의 리소스 섹션 내 필드입니다. 따라서 구독이 완료된 빌드에 대한 경우 다음과 같을 수 있습니다.

    Build {{build.id}} completed at {{build.finishTime}}

빌드가 리소스 및 ID의 이름인 경우 finishTime은 이 리소스에서 사용할 수 있는 필드입니다. 사용할 수 있는 이벤트 유형, 필드 및 리소스를 이해하려면 이벤트 참조확인합니다.

작업 항목 필드

작업 항목 필드는 다음 예제와 같이 필드 배열의 이벤트에 나타납니다.

    " fields": {
                " System.AreaPath": "Fabrikam-Fiber-Git", 
                " System.TeamProject": "Fabrikam-Fiber-Git", 
                " System.IterationPath": "Fabrikam-Fiber-Git", 
                " System.WorkItemType": "Product Backlog Item", 
                " System.State": "New", 
                " System.Reason": "New backlog item", 
                " System.CreatedDate": "2014-11-05T21:11:28.85Z", 
                " System.CreatedBy": "Normal Paulk", 
                " System.ChangedDate": "2014-11-05T21:11:29.23Z", 
                " System.ChangedBy": "Normal Paulk", 
                " System.Title": "Test PBI", 
                " Microsoft.Azure DevOps Services.Common.BacklogPriority": 999999999, 
                " WEF_6CB513B6E70E43499D9FC94E5BBFB784_Kanban.Column": "New"
           },

이벤트 정의에서 직접 작업하면 다음 예제와 같이 카드 이름을 만들었습니다.

    {{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}

바로 가기로 System 또는 Microsoft.Azure DevOps Services.Common 네임스페이스의 모든 필드를 리소스의 필드인 것처럼 참조할 수 있습니다. 즉, {{workitem.fields["System.workItemType"]}}{{workitem.workItemType}}가 됩니다.

자리 표시자 식

이러한 자리 표시자는 주로 Mustache와 호환되는 핸들바 템플릿 구현을 사용합니다. 몇 가지 유용한 식은 다음과 같습니다.

식 형식
기본 식 {{workitem.name}}
배열 식 {{pullRequest.reviewers.[0].displayName}}
콧수염 섹션 {{#workitem.assignedTo}} 이 WI가 할당됨 {{/workitem.assignedTo}}
콧수염 반전 섹션 {{^workitem.assignedTo}} 이 WI는 할당되지 않습니다. {{/workitem.assignedTo}}
핸들바 블록 도우미 다음과 같이 바꿉니다.
if/else
unless
디바이스
핸들바 경로 ...
this
예를 들어 {{../comment/id}} 또는 {{this/title}}와 같습니다.
템플릿 주석 {{!-- this is a handlebar comment --}}

가격 책정

Azure DevOps는 외부 서비스와 통합하기 위한 프레임워크에 대해 요금을 부과하지 않습니다. 특정 서비스의 사이트에서 해당 서비스와 관련된 가격 책정을 확인하세요.

질문 및 답변

Q: 프로그래밍 방식으로 구독을 만들 수 있나요?

A: 예, 자세한 내용은 여기를 참조하세요.

Q: Trello에 대한 자세한 정보를 얻을 수 있나요?

A: 예, trello.com.