다음을 통해 공유


Azure Repos와 Slack 통합

Azure DevOps Services

Slack을 사용하는 경우, Slack용 Azure Repos 앱을 통해 Azure Repos 리포지토리를 쉽게 모니터링할 수 있습니다. 코드가 푸시되거나 체크인될 때, 또는 풀 리퀘스트(PR)가 생성, 업데이트, 병합될 때마다 채널에서 알림을 받을 수 있도록 구독을 설정하고 관리합니다. 이 앱은 Git 및 TFVC(Team Foundation 버전 제어) 이벤트를 모두 지원합니다.

필수 구성 요소

  • 리포지토리 관련 이벤트에 대한 Slack 채널에서 구독을 만들려면 프로젝트 관리자 그룹의 구성원이거나 팀 관리자여야 합니다. 추가되려면, 프로젝트 수준 권한 변경이나 팀 관리자추가를 참조하세요.
  • 알림을 받으려면 조직에서 OAuth 설정을 통해 타사 애플리케이션 액세스를 사용하도록 설정해야 합니다. 자세한 내용은 조직대한 애플리케이션 액세스 정책 변경을 참조하세요.

메모

  • 현재 Slack용 Azure Repos 앱을 Azure DevOps Services에서 호스트되는 프로젝트에만 연결할 수 있습니다.
  • 알림은 현재 직접 메시지 내에서 지원되지 않습니다.

Slack 작업 영역에 Azure Repos 앱 추가

  1. Azure Repos Slack 앱로 이동하여 Slack에 추가를 선택합니다.

    Slack 앱 디렉터리, Azure Repos 및 'Slack에 추가' 버튼의 스크린샷

    추가되면 다음과 같은 환영 메시지가 표시됩니다.

    Slack의 시작 메시지 스크린샷

  2. /azrepos 슬랙 아이디를 사용하여 앱과 소통하세요. 명령의 전체 목록은 이 문서의 명령 참조 섹션에 제공됩니다.

리포지토리에 Azure Repos 앱 연결

  1. /azrepos signin 명령을 사용하여 Azure Repos에 직접 연결하고 인증합니다.

    Slack에 대한 로그인 프롬프트 스크린샷

  2. 로그인선택합니다.

  3. Azure Repos Slack 통합을 수락하세요.

    결과 로그인 화면의 수락 단추 스크린샷

    인증을 완료하기 위해 채팅 앱에서 사용할 확인 코드가 표시됩니다.

  4. 인증 코드를 복사합니다.

    Azure Repos에서 제공하는 확인 코드의 스크린샷

  5. 코드입력하고, 코드를 붙여넣은 다음, 제출을 선택합니다.

    확인 코드를 붙여넣은 다음 제출 단추를 선택한 경우 최종 인증 화면의 스크린샷

    채팅에 로그인 확인이 표시됩니다.

    채팅의 로그인 확인 스크린샷

프로젝트의 모든 Git 리포지토리 모니터링을 시작하려면 채널 내에서 다음 슬래시 명령을 사용합니다.

/azrepos subscribe [project url]

프로젝트 URL은 프로젝트 내의 모든 페이지(리포지토리에 대한 URL 제외)가 될 수 있습니다. 예를 들어:

/azrepos subscribe https://dev.azure.com/myorg/myproject/

다음 명령을 사용하여 특정 리포지토리를 모니터링할 수도 있습니다.

/azrepos subscribe [repository url]

리포지토리 URL은 리포지토리 이름이 있는 리포지토리 내의 모든 페이지일 수 있습니다. 예를 들어 Git 리포지토리의 경우 다음을 사용합니다.

/azrepos subscribe https://dev.azure.com/myorg/myproject/_git/myrepository

TFVC 리포지토리의 경우 다음을 사용합니다.

/azrepos subscribe https://dev.azure.com/myorg/myproject/_versionControl

메모

공용 리포지토리만 구독할 수 있습니다.

구독 명령을 사용하면 기본적인 구독으로 시작할 수 있습니다. Git 리포지토리의 경우, 채널은 대상 브랜치가 "main"인 풀 리퀘스트 생성 이벤트를 구독합니다. TFVC 리포지토리의 경우, 채널은 코드 체크 인 이벤트에서 코드 체크 인 이벤트를 구독합니다.

스크린샷은 기본 구독 만들기 메시지를 보여줍니다.

구독 관리

채널에 대한 구독을 보거나 추가하거나 제거하려면 다음 subscriptions 명령을 사용합니다.

/azrepos subscriptions

이 명령은 채널에 대한 모든 현재 구독을 나열하고 새 구독을 추가하거나 기존 구독을 제거할 수 있습니다. 구독을 추가할 때 다음 섹션에 설명된 대로 다양한 필터를 사용하여 가져오는 알림을 사용자 지정할 수 있습니다.

메모

팀 관리자는 프로젝트 관리자가 만든 구독을 제거하거나 수정할 수 없습니다.

구독 목록 보기를 보여 주는 스크린샷

필터를 사용하여 구독 사용자 지정

사용자가 /azrepos subscribe 명령을 사용하여 리포지토리를 구독하면 기본 구독이 만들어집니다. 종종 사용자는 이러한 구독을 사용자 지정해야 합니다. 예를 들어 사용자는 특정 리뷰어가 있는 경우에만 알림을 받을 수 있습니다.

다음 단계에서는 구독을 사용자 지정하는 방법을 보여 줍니다.

  1. /azrepos subscriptions 명령을 실행합니다.
  2. 구독 목록에서 원치 않거나 수정해야 하는 구독이 있는 경우(예: 채널에서 노이즈 만들기) 제거 단추를 선택합니다.
  3. 구독 추가 단추를 선택합니다.
  4. 필요한 리포지토리 및 원하는 이벤트를 선택합니다.
  5. 적절한 필터를 선택합니다.

예: 내 팀이 PR에 대한 검토자 목록에 있는 경우에만 알림 가져오기

스크린샷은 검토자가 내 팀을 가지고 있음을 보여줍니다.

예: 정책 위반으로 인해 병합 시도가 실패하는 경우 알려주세요.

스크린샷은 정책 위반으로 인한 병합 시도 실패를 보여줍니다.

메모

  • 모든 필터는 일반적으로 드롭다운입니다. 그러나 드롭다운에 100개 이상의 항목이 있는 경우 사용자는 수동으로 값을 입력해야 합니다.
  • TFVC 코드가 이벤트에서 체크 인될 때, 경로 아래의 필터 형식이어야 합니다.

끌어오기 요청 URL 미리 보기

사용자가 PR의 URL을 붙여넣으면 다음 이미지와 같은 미리 보기가 표시되어 PR 관련 대화를 상황별 및 정확하게 유지하는 데 도움이 됩니다.

스크린샷은 URL 펼침을 보여줍니다.

사용자가 로그인하면 이 기능은 작업 영역의 모든 채널에서 작동합니다.

채널에서 구독 및 리포지토리 제거

다음 명령을 사용하여 리포지토리 및 구독을 제거하여 채널을 정리합니다.

/azrepos unsubscribe all [project url]

예를 들어 다음 명령은 프로젝트의 모든 리포지토리와 관련된 모든 구독을 삭제하고 채널에서 리포지토리를 제거합니다. 프로젝트 관리자만 이 명령을 실행할 수 있습니다.

/azrepos unsubscribe all https://dev.azure.com/myorg/myproject

명령 참조

다음 표에서는 Slack 채널에서 사용할 수 있는 모든 /azrepos commands 나열합니다.

슬래시 명령 기능
/azrepos 구독 [리포지토리 URL/프로젝트 URL] 알림을 위해 프로젝트의 리포지토리 또는 모든 리포지토리 구독
/azrepos 구독 이 채널에 대한 구독 추가 또는 제거
/azrepos signin Azure Repos 조직에 로그인
/azrepos 로그아웃 Azure Repos 조직에서 로그아웃
/azrepos 피드백 문제 보고 또는 기능 제안
/azrepos unsubscribe all [project url] 채널에서 모든 리포지토리(프로젝트에 속) 및 관련 구독 제거

프라이빗 채널의 알림

Azure Repos 앱은 개인 채널에서도 리포지토리 이벤트를 모니터링하는 데 도움이 될 수 있습니다. /invite @azrepos사용하여 개인 채널에 봇을 초대합니다. 그런 다음 공개 채널과 동일한 방식으로 알림을 관리할 수 있습니다.

문제 해결

Azure Repos App for Slack사용할 때 다음 오류가 발생하는 경우 이 섹션의 절차를 따르세요.

죄송합니다. 문제가 발생했습니다. 다시 시도하세요.

Azure Repos 앱은 OAuth 인증 프로토콜을 사용하며, 조직을 위해 OAuth를 통한 타사 애플리케이션 액세스 이(가) 허용되어야 합니다. 이 설정을 사용하도록 설정하려면 조직 설정보안정책이동하고 조직 설정에 대해 OAuth를 통해 타사 애플리케이션 액세스를 On설정합니다.

조직 설정 OAuth를 통해 타사 애플리케이션 액세스를 사용하도록 설정합니다.

구성에 실패했습니다. 조직 '{조직 이름}'이 있고 충분한 권한이 있는지 확인하세요.

브라우저를 사용하여 https://aka.ms/VsSignout으로 이동하여 Azure DevOps에서 로그아웃하세요.

비공개 또는 시크릿 브라우저 창을 열고 https://aex.dev.azure.com/me로 이동하여 로그인합니다. 왼쪽 프로필 아이콘 아래의 드롭다운에서 구독하려는 리포지토리가 포함된 조직이 포함된 디렉터리를 선택합니다.

프로젝트 포함하는 조직이 포함된 디렉터리를 선택합니다.

동일한 브라우저에서 새 탭을 열고 https://slack.com로 이동하여 작업 공간에 로그인합니다(웹 클라이언트를사용). /azrepos signout 명령과 /azrepos signin 명령을 실행합니다.

Sign in 단추를 선택하면 다음 예제와 같은 동의 페이지로 리디렉션됩니다. 전자 메일 옆에 표시된 디렉터리가 이전 단계에서 선택한 디렉터리와 동일한지 확인합니다. 로그인 프로세스를 수락하고 완료합니다.

스크린샷은 요청된 앱 권한에 대한 동의를 보여줍니다.

이러한 단계를 수행해도 인증 문제가 해결되지 않으면 Developer Community문의하세요.