Wiki·Teams 협업과 Boards–GitHub 통합

Azure DevOps Wiki, Microsoft Teams 통합, Boards–GitHub 연동을 정리합니다.

AZ-400 시험에서 협업과 커뮤니케이션 파트는 '어떤 도구를 선택해야 운영 오버헤드 없이 팀을 연결할 수 있는가'를 묻습니다. 코드가 아무리 잘 돌아도 문서가 없으면 신규 팀원이 며칠을 헤매고, 배포가 성공해도 이해관계자에게 알림이 가지 않으면 검증이 늦어집니다. 이 파트에서 반복적으로 등장하는 원칙은 하나입니다. 공식 앱을 먼저 쓰고, 커스텀 코드는 꼭 필요할 때만 씁니다.

Wiki 선택 기준 — Project Wiki와 Published Wiki

회사에 새로 들어온 직원이 온보딩 문서를 찾는데 아무 곳에도 없다면? 팀은 매번 똑같은 질문에 답해야 합니다. Azure DevOps Wiki는 이런 상황을 막기 위해 존재하며, 시험에서 두 종류를 구분하는 문제가 반드시 나옵니다.

는 Azure DevOps가 전용 Git 리포지토리를 자동으로 만들어 주기 때문에 생성 즉시 편집할 수 있습니다. 반면 는 기존 Azure Repos 리포지토리에 Markdown 파일을 먼저 커밋해야 활성화됩니다. 이 선행 조건이 가장 자주 나오는 함정입니다.

| 구분 | Project Wiki | Published Wiki | |------|-------------|----------------| | 저장소 | 전용 Git 리포 자동 생성 | 기존 Repos 리포 연결 | | 시작 방법 | 생성 즉시 사용 | Markdown 파일 먼저 커밋 필요 | | PR 기여 | Wiki 전용 편집기 | 일반 PR 워크플로 |

PR 기반 기여와 Git 히스토리 추적이 요구사항이면 Published Wiki를 선택하고, 생성 전 Markdown 파일을 먼저 리포지토리에 커밋해야 한다는 순서를 기억해두세요.

Wiki 페이지의 탐색 순서는 파일로 제어합니다. 폴더마다 위치하는 이 파일에 페이지 이름을 줄 단위로 나열하면 됩니다. Git 커밋으로 변경되므로 파이프라인에서 스크립트로 자동화할 수 있고, UI 드래그앤드롭도 내부적으로는 이 파일을 수정합니다.

 

Markdown과 Mermaid — 텍스트로 문서를 버전 관리하는 이유

문서를 Word 파일로 저장하면 어떻게 될까요? Git으로 diff를 볼 수 없고, 두 사람이 동시에 수정하면 merge가 불가능합니다. Markdown은 순수 텍스트 형식이기 때문에 Git의 diff·merge 엔진이 라인 단위로 변경 내용을 추적합니다. GitHub과 Azure DevOps 모두 파일을 자동으로 HTML로 렌더링합니다.

다이어그램도 마찬가지입니다. PNG나 Visio 파일은 PR 리뷰에서 변경 내용을 볼 수 없습니다. Mermaid는 텍스트 문법으로 다이어그램을 표현하는 오픈소스 라이브러리로, GitHub과 Azure DevOps Wiki에서 네이티브로 렌더링됩니다. 파일 코드 블록으로 삽입하면 즉시 표시됩니다.

다이어그램 유형 선택 기준:

프로세스 흐름·결정 분기 → 시스템 간 메시지 순서 → 상태 전이·composite state → 클래스 구조·상속 →

GitHub Pages에 Markdown 문서를 정적 사이트로 배포할 때는 Jekyll이 기본입니다. 과 Markdown 파일만 있으면 push만으로 자동 빌드·배포되고, Hugo나 Gatsby는 별도 GitHub Actions 파이프라인이 필요해 조건에서는 오답입니다.

 

Service Hooks와 GitHub Webhook — 이벤트를 외부로 전달하는 두 가지 방법

배포가 실패했는데 담당자가 아무것도 모르고 있었다면? 알림 시스템이 없기 때문입니다. Azure DevOps와 GitHub은 이벤트를 외부 시스템으로 전달하는 메커니즘을 각각 제공합니다.

는 Azure DevOps에 내장된 공식 이벤트 전달 기능으로, Project Settings > Service Hooks에서 코드 없이 UI로 구성합니다. Jenkins 빌드 트리거, Slack·Teams 알림 등 30개 이상의 이벤트와 대상을 지원합니다.

| 시나리오 | 선택 | |---------|------| | Azure Repos → Jenkins 빌드 트리거 | Service Hook with Jenkins | | Azure DevOps → 사내 커스텀 시스템 | Service Hooks Web Hooks | | GitHub → 레거시 외부 서비스 즉시 트리거 | GitHub Webhook |

은 사람에게 이메일 알림을 보내는 채널로, Jenkins 같은 자동화 시스템 통합에는 사용하지 않습니다. Service Hook과의 구분 문제가 시험에 자주 나옵니다.

Azure Monitor alert를 외부 시스템으로 전달할 때 payload 변환이 필요하면 Logic App을 먼저 생성하고 Action group에서 그 endpoint를 참조합니다. 코드 없이 변환이 필요하면 Logic App, 복잡한 커스텀 로직이면 Function App입니다.

 

Teams 통합 — 공식 앱 우선 원칙

개발팀이 Microsoft Teams를 쓰는데 파이프라인 알림을 보려면 매번 Azure DevOps 포털을 열어야 한다면? 공식 앱을 설치하면 해결됩니다. 시험에서 조건이 나오면 항상 공식 앱을 먼저 선택합니다.

| 앱 | 통합 대상 | 주요 기능 | |----|----------|----------| | Azure DevOps for Teams | Azure DevOps 이벤트 | PR·작업 항목 상태 변경 채널 구독 | | Azure Pipelines for Teams | Azure Pipelines | Build·Release 성공·실패 구독 | | Azure Boards app for Teams | Azure Boards | Work Item 상태 변경 전달 | | Microsoft Teams for GitHub | GitHub | PR·이슈·워크플로 실시간 구독 |

모든 빌드 이벤트가 채널에 쌓여 노이즈가 심할 때는 구독에 필터를 추가합니다. Azure Pipelines Teams 앱은 명령으로 Build status, Pipeline name, Branch name 조건으로 이벤트를 걸러낼 수 있습니다. 이 조건이면 Subscription filter 추가가 정답이고, Service Hook 전체를 재구성하는 것은 오버헤드가 높아 오답입니다.

 

Boards–GitHub 통합 — 양방향 연동의 첫 번째 단계

개발자가 GitHub에서 PR을 올렸는데 Azure Boards의 작업 항목과 연결이 안 된다면? 관리자는 수동으로 두 곳을 확인해야 합니다. Boards–GitHub 통합은 이 두 세계를 하나로 연결합니다.

GitHub 저장소와 Azure Boards를 연결하는 공식 방법은 입니다. GitHub Marketplace에서 설치하고, commit 메시지나 PR 본문에 를 입력하면 양방향 링크가 자동으로 생성됩니다. 인증 방식은 OAuth가 기본입니다.

OAuth vs 다른 인증 방식 구분:

OAuth → 웹 애플리케이션 권한 위임 (Azure Boards ↔ GitHub 연동) SSH key → git clone/push 원격 저장소 접근 Managed identity → Azure 리소스 간 인증 (GitHub 직접 연동 불가)

Pull Request 토론과 코드 리뷰도 협업의 핵심입니다. ChatOps는 채팅 플랫폼(Teams, Slack)에서 , 같은 명령으로 파이프라인을 트리거하는 패턴으로, 브라우저를 열지 않고 채팅창에서 운영 작업을 완결하는 것이 핵심 가치입니다.

 

시험 핵심 정리

Published Wiki 생성 선행 조건 -- Markdown 파일을 Azure Repos에 먼저 커밋 Wiki 페이지 탐색 순서 자동화 -- 파일 편집 GitHub PR + Git 버전 관리 문서 -- Markdown 텍스트 기반 다이어그램, GitHub 네이티브 렌더링 -- Mermaid composite state 시각화 -- Mermaid GitHub Pages + Markdown, 추가 인프라 없이 -- Jekyll Azure Repos → Jenkins 빌드 트리거, 코드 없이 -- Service Hook with Jenkins 자동화 시스템 통합, 이메일 대신 -- Service Hooks (Email Subscription 아님) GitHub → Teams 알림, 커스텀 코드 없이 -- Microsoft Teams for GitHub app Azure Pipelines 실패 → Teams -- Azure Pipelines for Teams Teams 알림 노이즈 감소 -- Subscription filter 추가 GitHub PR ↔ Azure Boards 연동 첫 단계 -- Azure Boards app for GitHub 설치 (OAuth) payload 변환 + 외부 webhook, no-code -- Logic App + Action group

블로그 목록으로 돌아가기