Microsoft Teams와 GitHub 및 Azure DevOps 통합

완료됨

Microsoft Teams는 팀 커뮤니케이션 및 공동 작업을 위한 중앙 허브 역할을 합니다. GitHub 및 Azure DevOps를 Teams와 통합하면 개발 활동, 작업 추적 및 파이프라인 알림이 팀 대화에 직접 전달되어 컨텍스트 전환을 줄이고 모든 사용자에게 실시간으로 정보를 제공합니다.

DevOps 도구를 Teams와 통합하는 이유

컨텍스트 전환 줄이기: 개발자는 별도의 도구로 전환하지 않고 코드, 빌드 및 배포에 대한 업데이트를 받는 동안 통신을 위해 Teams에 머무른다.

가시성 향상: 전체 팀은 관련 활동(끌어오기 요청, 작업 항목 업데이트, 파이프라인 결과)을 보고 공유 인식 및 책임을 촉진합니다.

응답 가속화: 팀 구성원은 문제를 논의하고, 배포를 승인하고, 도구 탐색을 지연하지 않고 Teams 채널에서 직접 결정을 내릴 수 있습니다.

협업 개선: 알림과 관련된 스레드 대화는 컨텍스트 및 토론 기록을 제공하여 팀이 문제를 함께 이해하고 해결하는 데 도움이 됩니다.

모바일 액세스 사용: Teams 모바일 앱은 개발자가 워크스테이션을 벗어나도 중요한 이벤트에 연결되도록 합니다.

일반적인 통합 시나리오

코드 검토 토론: 끌어오기 요청 알림은 개발자가 변경 내용에 대해 논의하고 검토를 요청하고 피드백을 제공하는 Teams 채널에 표시됩니다.

작업 추적 업데이트: 작업 항목 상태 변경은 기능 진행률, 버그 수정 및 백로그 변경에 대해 팀에 알립니다.

빌드 및 배포 경고: 파이프라인 성공 및 실패는 즉시 알림을 트리거하여 끊어진 빌드 또는 배포 문제에 대한 빠른 응답을 가능하게 합니다.

인시던트 응답: 실패한 배포 및 프로덕션 문제는 팀이 문제 해결 및 해결을 조정하는 Teams 채널에서 경고를 생성합니다.

승인 워크플로: 배포 게이트는 승인된 팀 구성원이 릴리스를 승인하거나 거부할 수 있는 Teams에 승인 요청을 보냅니다.

DevOps 플랫폼과 Teams 간의 통합은 양방향입니다. 팀은 DevOps 이벤트에 대한 알림을 받고 대화를 남기지 않고 Teams에서 직접 작업(문제 만들기, 배포 승인, 검색 정보)을 수행할 수 있습니다.

Microsoft Teams와 GitHub 통합

Microsoft Teams용 GitHub 앱을 사용하면 두 플랫폼 간의 원활한 통합을 통해 사용자가 알림을 받고 Teams에서 직접 GitHub와 상호 작용할 수 있습니다.

https://teams.github.com 웹 페이지로 이동하여 Teams 앱 스토어 또는 GitHub에서 직접 Microsoft Teams용 GitHub 앱을 설치할 수 있습니다. 성공적으로 설치되면 @github 핸들을 사용하여 앱과 상호 작용하라는 환영 메시지가 표시됩니다. 시작하려면 로그인을 입력 @github 하여 GitHub 계정에 연결합니다. 그러면 GitHub 인증 프로세스가 트리거됩니다.

조직 또는 리포지토리에서 끌어오기 요청 및 문제에 대한 알림을 구독하려면 @github 구독 <조직>/<리포지토리> 명령을 사용합니다. 알림을 사용자 지정하려면 @github subscribe owner/repo [기능]을 사용하여 특정 기능에 대해 구독하고, @github unsubscribe owner/repo [기능]을 사용하여 중요하지 않은 활동에 대한 구독을 해지할 수 있습니다. 기본 기능에는 문제, 끌어오기 요청, 커밋, 주석, 배포 및 릴리스가 포함됩니다. 검토, 워크플로, 분기 및 토론과 같은 다른 기능을 선택적으로 사용하거나 사용하지 않도록 설정할 수 있습니다.

알림 범위를 더 지정하려면 필터링을 사용합니다. 분기 필터를 사용하면 커밋 알림을 특정 분기 또는 분기 패턴으로 제한할 수 있습니다. 레이블 필터는 우선 순위 또는 특정 팀 레이블과 같은 허용 목록에 있는 레이블에 따라 들어오는 이벤트를 제한합니다.

끌어오기 요청을 사용하여 알림을 구성하고 알림 카드 및 스레딩을 발급할 수도 있습니다. 끌어오기 요청 및 문제에 대한 알림은 부모 카드 아래에 회신으로 그룹화되어 관련 메타데이터를 표시하고 협업을 개선하기 위한 스레딩을 제공합니다.

Teams의 대화는 종종 실행 가능한 결과를 이끌고 의사 결정을 추진합니다. 통합은 문제 생성 및 관리를 지원하여 이러한 활동을 용이하게 합니다. 메시지 옵션 메뉴에서 문제 만들기 옵션에 액세스하여 Teams에서 한 번의 클릭으로 문제를 만들 수 있습니다. 문제 만들기 대화 상자는 자동으로 메시지 콘텐츠로 채워져 레이블, 담당자 및 중요 시점을 선택할 수 있으며 알림 카드로 문제 생성을 확인합니다. 또한 Teams에서 직접 문제 및 끌어오기 요청을 닫거나 다시 열고, 댓글을 작성하는 등 다양한 작업을 수행할 수 있습니다.

또 다른 통합 영역은 작업 워크플로 알림을 대상으로 합니다. 이를 통해 GitHub Actions 워크플로 실행 알림을 구독할 수 있으며, Teams에서 직접 워크플로 상태와 승인에 대한 추적을 확인할 수 있습니다. 알림은 워크플로를 다시 실행하고 디버그 로그를 사용하도록 설정하는 옵션과 함께 작업 상태 및 완료를 포함한 워크플로 진행 상황에 대한 업데이트를 제공합니다. 기본적으로 기본 분기의 끌어오기 요청을 통해 트리거되는 워크플로에 포커스가 있지만 이름, 이벤트, 행위자 및 분기에 따라 필터링 조건을 사용자 지정할 수 있는 옵션이 있습니다.

배포에 별도의 알림을 사용할 수 있으며, 사용자가 주의가 필요한 알림에 언급되어 있습니다. 멘션은 Teams에서 GitHub 앱에 로그인할 때 작동하며, GitHub ID를 Teams ID와 매핑하여 알림이 의도한 받는 사람에게 전달되도록 합니다.

Microsoft Teams 채널에서 공유되는 GitHub 링크는 끌어오기 요청, 문제, 토론, 메모, 코드 조각, 리포지토리 및 계정과 같은 세부 정보가 포함된 미리 보기를 자동으로 표시합니다. 마찬가지로 Teams에서 토론 및 해당 의견을 자동으로 풀고 토론 콘텐츠의 미리 보기를 제공할 수 있습니다.

Teams 채널 또는 개인 채팅에서 보류 중인 끌어오기 요청에 대한 미리 알림을 구성할 수 있습니다. 구성 옵션에는 일, 시간, 표준 시간대, 팀, 리포지토리, 그리고 초안 무시, 검토 요청 요구, 끌어오기 요청에 대한 최소 기간/stale 설정과 같은 고급 설정 선택이 포함됩니다.

Microsoft Teams와 Azure DevOps 통합

Azure DevOps와 Microsoft Teams의 통합은 보드, 리포지토리 및 파이프라인의 세 가지 주요 영역에서 편리한 공동 작업 환경을 제공합니다. Microsoft Teams GitHub 앱을 사용하면 보드를 사용하여 프로젝트의 진행 상황을 관리하고, 코드 변경 내용을 추적하고, 리포지토리에서 공동 작업하고, 파이프라인을 사용하여 CI/CD 워크플로를 Microsoft Teams 환경 내에서 간소화할 수 있습니다. 이 포괄적인 통합은 프로젝트 관리 및 개발 활동을 위한 통합 인터페이스를 제공하여 생산성과 통신을 향상시킵니다.

Azure Boards 통합

Microsoft Teams용 Azure Boards 앱은 사용자가 Teams 채널 내에서 직접 작업 항목을 만들고, 모니터링하고, 공동 작업할 수 있도록 하여 프로젝트 관리를 간소화합니다.

Azure Boards 앱을 사용하려면 Azure Boards 프로젝트에서 최소한 기여자 권한이 있고 Azure DevOps 조직의 OAuth를 통한 앱 액세스가 사용하도록 설정되어 있는지 확인합니다. 이러한 필수 구성 요소가 충족되면 Microsoft Teams의 앱 스토어에 액세스하고, 앱을 설치하고, @azure 보드 핸들을 사용하여 Azure Boards 앱을 Teams 채널에 추가할 수 있습니다.

앱의 기능을 활용하려면 Azure Boards 프로젝트를 Teams 채널에 연결합니다. 여기에는 Azure Boards를 연결하고 인증하고 Teams 채널의 @azure 보드 링크 명령을 사용하는 작업이 포함됩니다. 채널에서 프로젝트 사용 연결을 해제하려면 @azure boards unlink 명령을 사용합니다. 다음으로, @azure 보드 구독 명령을 사용하여 작업 항목을 모니터링하는 구독을 만듭니다. 관심 있는 특정 영역 경로 및 이벤트를 선택하고 그에 따라 알림을 사용자 지정할 수 있습니다. Teams 채널 내의 알림은 논리적으로 연결하고 관련 알림을 줄이기 위해 스레드되어 보다 체계적인 커뮤니케이션 환경을 제공합니다.

프로젝트의 영역 경로를 채널에 추가하여 작업 항목 만들기 및 구독을 용이하게 할 수 있으며, 특히 영역 경로가 많은 프로젝트의 경우 특히 그렇습니다. 작업 항목을 만들려면 @azure 보드 생성 명령어를 사용하거나 Teams 채널 내에서 메시지 작업을 사용하여 토론을 실행 가능한 작업으로 변환하는 프로세스를 간소화하십시오. 앱은 작성 기능 확장을 지원하므로 Teams 안에서 직접 작업 항목을 검색하고 공유할 수 있습니다. 채널 내에서 공유된 작업 항목 URL을 미리 볼 수 있습니다.

또한 Microsoft Teams에서 Azure DevOps Services 탭을 구성하여 Kanban 보드 또는 대시보드를 채널로 직접 가져올 수 있습니다. 이렇게 하면 프로젝트 관련 정보의 가시성과 접근성이 향상됩니다.

Azure Repos 통합

Microsoft Teams용 Azure Repos 앱은 Microsoft Teams 및 Azure 리포지토리 사용자에 대한 리포지토리 모니터링을 용이하게 합니다. 이 통합은 리포지토리 관리를 간소화하고 팀 구성원 간의 협업을 향상시킵니다.

Azure Boards 앱과 마찬가지로 앱을 사용하기 전에 리포지토리 수준에서 필요한 권한이 있고 Azure DevOps 조직의 OAuth를 통한 앱 액세스가 사용하도록 설정되어 있는지 확인합니다. 이러한 필수 구성 요소가 충족되면 Microsoft Teams의 앱 스토어에 액세스하고, 앱을 설치하고, @azure 리포지토리 핸들을 사용하여 상호 작용하여 Teams 채널에 Azure Repos 앱을 추가할 수 있습니다.

앱을 설치한 후 리포지토리 로그인 명령을 사용하고 @azure 프로젝트 또는 리포지토리 URL을 지정하여 리포지토리에 연결하여 코드 변경 및 끌어오기 요청을 모니터링할 수 있습니다. 리포지토리 관련 이벤트에 대한 구독을 관리하려면 @azure 리포지토리 구독 및 @azure 리포지토리 구독과 같은 명령을 사용하여 특정 조건 및 필터에 따라 알림을 사용자 지정할 수 있습니다. 리포지토리와 관련된 구독을 제거하려면 @azure 리포지토리를 사용하여 모든 [프로젝트 URL] 명령을 구독 취소합니다.

Azure Repos 앱은 Microsoft Teams 내에서 끌어오기 요청 정보의 검색 및 공유를 지원하는 작성 확장을 지원합니다. 채널 내에서 공유된 끌어오기 요청 URL을 미리 볼 수 있습니다. 이 기능은 끌어오기 요청 관련 대화의 가시성과 이해를 향상시킵니다.

Azure Boards 앱과 마찬가지로 채널 내의 알림은 관련 알림을 논리적으로 연결하고 혼란을 줄이기 위해 스레드됩니다. 이렇게 하면 보다 체계적인 통신 환경이 제공되고 끌어오기 요청 관련 토론의 가시성이 향상됩니다.

Azure Pipelines 통합

Microsoft Teams용 Azure Pipelines 앱은 파이프라인 모니터링 및 관리를 간소화하여 Teams 채널 내에서 직접 알림 및 파이프라인 관리 기능을 제공합니다. 이 통합은 파이프라인 모니터링 프로세스를 간소화하고 효율적인 공동 작업을 용이하게 합니다.

다른 두 Azure DevOps 관련 Microsoft Teams 앱과 마찬가지로, 이 앱을 사용하기 전에 파이프라인을 호스팅하는 프로젝트 수준에서 필요한 권한이 있는지 확인하고 Azure DevOps 조직의 OAuth를 통해 앱 액세스를 사용하도록 설정해야 합니다. 이러한 필수 구성 요소가 충족되면 Microsoft Teams의 앱 스토어에 액세스하고, 앱을 설치하고, @azure 파이프라인 핸들을 사용하여 상호 작용하여 Teams 채널에 Azure Repos 앱을 추가할 수 있습니다.

앱을 설치한 후 @azure 파이프라인 로그인 명령을 사용하여 해당 파이프라인에 연결합니다. 다음으로, @azure 파이프라인 구독 명령을 사용하여 프로젝트의 개별 또는 모든 파이프라인을 구독합니다. 실패한 빌드 또는 프로덕션 환경에 배포와 같은 특정 이벤트에 대한 알림을 받도록 파이프라인 구독을 사용자 지정할 수 있습니다. Azure Pipelines 앱은 기본 설정에 따라 알림을 조정하는 필터를 지원합니다.

앱은 Azure Pipelines 포털에 액세스하지 않고 Teams 채널에서 직접 배포를 승인할 수 있도록 지원합니다. 배포 요청을 승인하거나 거부할 수 있는 옵션이 있는 알림이 채널에 게시되어 신속한 의사 결정을 용이하게 하고 워크플로 효율성을 향상합니다. 파이프라인의 특정 실행에 연결된 알림은 논리적으로 함께 연결되어 파이프라인 활동에 대한 명확한 개요를 제공하고 채널 내에서 구성된 통신을 용이하게 합니다.

Azure Pipelines 앱에는 Microsoft Teams 내에서 직접 파이프라인 정보를 검색하고 공유할 수 있는 작성 확장도 포함되어 있습니다. Teams에서 파이프라인 URL을 공유하는 경우 파이프라인 관련 대화에 대한 업데이트를 모니터링하도록 미리 볼 수 있습니다. 이러한 미리 보기는 토론을 관련성 있게 유지하고 파이프라인 세부 정보에 빠르게 액세스할 수 있도록 도와줍니다.

Teams 통합 모범 사례

효과적인 통합을 위해서는 알림 오버로드를 방지하면서 가치를 최대화하기 위해 신중한 구성이 필요합니다.

포커스가 있는 구독으로 시작합니다.

  • 중요한 이벤트(실패한 빌드, 프로덕션 배포, 우선 순위가 높은 작업 항목)에 대한 알림으로 시작합니다.
  • 팀 요구 사항에 따라 점진적으로 더 많은 구독 추가
  • 모든 항목을 구독하지 않도록 합니다. 정보 오버로드는 알림 효율성을 감소시킵니다.

전략적으로 필터를 사용합니다.

  • 브랜치별 필터링(일부 알림의 경우에는 메인/프로덕션 브랜치만 해당)
  • 심각도 또는 우선 순위별로 필터링(중요한 버그만 해당)
  • 영역 경로 또는 팀별로 필터링(관련 작업 항목에만 해당)
  • 레이블 필터를 사용하여 특정 기능 영역에 집중

전용 채널로 구성:

  • 다양한 알림 유형(빌드, 배포, 검토)에 대한 별도의 Teams 채널 만들기
  • 채널 명명 규칙 사용(예: "project-builds", "project-releases")
  • 소셜 대화를 자동화된 알림과 분리된 상태로 유지

스레딩을 적절하게 구성합니다.

  • 관련 이벤트를 그룹화하기 위해 스레드 알림 사용
  • 끌어오기 요청 대화에 스레드를 사용하여 대화를 체계적으로 유지하세요.
  • 스레딩은 컨텍스트를 유지하면서 채널 혼란을 줄입니다.

팀 규칙 설정:

  • 다양한 알림 유형에 대한 응답 기대치 정의
  • 즉각적인 주의가 필요한 알림과 정보용 알림을 구분하여 문서화합니다.
  • 일반적인 시나리오에 대한 Runbook 만들기(배포 응답 실패, 중요한 버그 심사)
  • 필요할 때 주의를 집중시키기 위해 @mentions를 신중하게 사용하십시오.

정기적으로 검토하고 조정합니다.

  • 알림 유용성에 대한 팀 피드백 수집
  • 액션을 유도하지 않는 구독을 제거하십시오
  • 우선 순위가 변경됨에 따라 필터 조정
  • 경고 피로 모니터링 및 노이즈 줄이기

보안 고려 사항:

  • 중요한 알림을 추가하기 전에 채널 멤버 자격 검토
  • 기밀 프로젝트 정보에 개인 채널 사용
  • DevOps 도구에서 적절한 권한 구성
  • 앱 액세스 및 OAuth 토큰을 정기적으로 검토하십시오.

통합 선택 가이드:

다음과 같은 경우 GitHub + Teams를 사용합니다.

  • GitHub에서 기본 개발이 수행됩니다.
  • 끌어오기 요청 및 이슈 알림 필요
  • GitHub Actions 워크플로 추적을 원하시나요?
  • 팀은 프로젝트 계획에 GitHub Projects를 사용합니다.

다음과 같은 경우 Azure DevOps + Teams를 사용합니다.

  • 작업 추적에 Azure Boards 사용
  • Azure Repos는 코드 리포지토리를 호스트합니다.
  • Azure Pipelines는 CI/CD를 관리합니다.
  • 포괄적인 DevOps 플랫폼 통합 필요

다음 경우에 둘 다 사용합니다.

  • 조직은 GitHub와 Azure DevOps를 모두 사용합니다.
  • 다른 프로젝트는 서로 다른 플랫폼을 사용합니다.
  • 플랫폼 간 마이그레이션
  • 플랫폼 간 가시성 필요

DevOps 도구를 Microsoft Teams와 통합하여 팀은 개발 활동, 작업 추적 및 배포가 일정한 도구 전환 없이도 표시되고 실행 가능한 통합 통신 환경을 만듭니다.