Azure DevOps Services
Azure Boards와 GitHub Copilot을 사용하여 작업 항목에서 초안 풀 요청까지 더 빠르게 진행하세요. 작업 항목에서 Copilot을 시작해 분기를 만들고 코드 변경 사항을 생성하며 초안 풀 요청을 여는 동안 Azure DevOps에서 작업 항목의 진행 상황을 추적합니다.
이 통합을 사용하면 다음을 수행할 수 있습니다:
- 작업 항목에서 자동화된 코딩을 시작합니다.
- Azure DevOps 직접 GitHub Copilot 진행 상황을 추적합니다.
- 생성된 분기와 끌어오기 요청을 작업 항목에 연결합니다.
- 초안 풀 리퀘스트가 검토 준비 상태가 되는 시점을 모니터링합니다.
중요합니다
이 통합을 위해서는 GitHub 리포지토리 및 GitHub 앱 인증이 필요합니다. Azure Repos(Azure DevOps Git 리포지토리)는 GitHub Copilot 통합에 지원되지 않습니다.
필수 조건
| 카테고리 | 요구 사항 |
|---|---|
| 라이선싱 | 유효한 GitHub Copilot 구독 가격 책정은 GitHub Copilot 플랜을 참조하세요. |
| 저장소 | 적절한 권한이 있는 GitHub 리포지토리(Azure Repos 아님) |
| 인증 | Azure DevOps 및 GitHub 간에 구성된 GitHub 앱 인증(개인용 액세스 토큰은 지원되지 않음) |
| Permissions | Azure DevOps에서 작업 항목에 대한 Contribute 액세스 및 아티팩트를 연결할 수 있는 기능 |
| Azure Boards 연결 | Azure Boards를 GitHub에 연결하기 |
팀 관리자용
다음 검사 목록을 사용하여 팀에 대해 이 통합을 설정합니다.
- 조직 수준에서 GitHub 앱 통합을 구성합니다. 설정 단계는 GitHub Azure Boards 연결을 참조하세요.
- 각 팀 구성원이 두 시스템에서 모두 필요한 액세스 권한을 갖도록 합니다.
- 작업 항목을 업데이트하고 아티팩트를 연결할 수 있는 Azure DevOps 권한
- 대상 리포지토리 및 브랜치에 대한 GitHub 리포지토리 접근 권한
지원되는 작업 항목 유형
GitHub Copilot 통합은 다음을 포함하여 요구 사항 및 작업 범주의 작업 항목 유형을 지원합니다.
- 사용자 스토리, 제품 백로그 항목, 요구 사항, 작업, 버그 및 문제와 같은 표준 작업 항목 유형입니다.
- 프로세스 템플릿에서 정의하는 사용자 지정 작업 항목 유형입니다.
사용자 지정 형식은 프로세스가 요구 사항 또는 작업 범주에 매핑할 때 지원됩니다.
Azure DevOps 프로젝트에서 Agile, 스크럼, CMMI 및 사용자 지정 프로세스 템플릿의 작업 항목에 GitHub Copilot 사용할 수 있습니다.
작업 항목에서 GitHub Copilot 시작
GitHub Copilot 사용하여 구현하려는 작업 항목을 엽니다.
작업 항목 양식에서 GitHub 아이콘을 선택합니다.
여러 옵션을 사용할 수 있는 경우 아이콘이 드롭다운 메뉴로 표시됩니다.
작업 항목에서 강조 표시된 GitHub Copilot 아이콘을 보여 주는 스크린샷 GitHub Copilot로 끌어오기 요청 만들기를 선택하세요.
끌어오기 요청에 대한 대상 GitHub 리포지토리 및 분기를 선택합니다.
비고
리포지토리 목록에는 GitHub 앱 인증을 통해 연결된 GitHub 리포지토리만 표시됩니다. Azure Repos 지원되지 않습니다.
(선택 사항) 가이드 구현에 대한 특별한 지침을 추가합니다.
예제 지침:
- 설치 지침이 포함된 README 파일을 작성하세요.
- 새 비동기 코드에는 async/await 패턴을 사용하세요.
- 새 논리에 대한 단위 테스트를 추가합니다.
- 리포지토리의 기존 코드 스타일 및 명명 규칙을 따릅니다.
Create를 선택합니다.
Copilot 시작하면 어떻게 되나요?
작업 항목에서 Copilot 시작하면 Azure DevOps 다음 작업을 수행합니다.
- 제목, 큰 텍스트 필드(예: 설명 및 수락 조건), 메모 및 작업 항목에 대한 링크와 같은 GitHub Copilot 작업 항목 컨텍스트를 공유합니다.
- 선택한 GitHub 리포지토리에서 브랜치 및 초안 풀 요청 만들기를 수행한 다음 작업 항목에 연결합니다.
- 진행 중, 검토 준비 완료 및 오류 상태를 추적할 수 있도록 작업 항목 상태를 업데이트합니다.
GitHub Copilot 진행률 모니터링
상태 표시기
Azure DevOps 가능한 세 가지 상태로 작업 항목에 Copilot 상태를 직접 표시합니다.
- 진행 중: Copilot 코드 변경 내용을 생성하고 있습니다.
- 검토 준비: 초안 끌어오기 요청은 검토할 준비가 된 것입니다.
- 오류: 코딩 프로세스가 실패했습니다. 세부 정보를 보려면 상태를 마우스로 가리킵니다.
비고
작업 항목의 복잡성에 따라 Copilot 작업이 완료되는 데 5~15분이 걸릴 것으로 예상합니다.
보드 카드 표시기
보드의 작업 항목은 작업 항목 카드에 직접 GitHub Copilot 상태를 표시합니다. 카드에 GitHub Copilot 아이콘이 나타나고 Copilot 해당 항목에 대해 작업 중이거나 완료되었음을 나타냅니다.
이 표시기를 사용하면 각 항목을 열지 않고 활성 또는 완료된 Copilot 작업으로 작업 항목을 식별할 수 있습니다.
개발 섹션 업데이트
작업 항목의 개발 섹션에는 다음이 자동으로 표시됩니다.
- Copilot이 만든 분기입니다.
- 실시간 상태의 끌어오기 요청 초안입니다.
- GitHub 생성된 코드를 검토하는 직접 링크입니다.
끌어오기 요청 검토 및 병합
끌어오기 요청 링크를 선택하여 GitHub Copilot 구현을 검토합니다.
변경 내용에 만족하는 경우 초안 끌어오기 요청을 일반 끌어오기 요청으로 변환합니다.
끌어오기 요청 상태가 변경됨에 따라 작업 항목 토론이 자동으로 업데이트됩니다.
GitHub 인터페이스를 사용하여 생성된 코드를 검토, 주석 달기 및 승인합니다.
준비가 되면 GitHub에서 풀 리퀘스트를 병합하세요.
- 병합 커밋은 작업 항목에 자동으로 연결됩니다.
- 분기를 삭제하면 분기 링크가 제거됩니다.
- Copilot 상태 표시기가 병합에 성공한 후 숨겨집니다.
끌어오기 요청이 병합된 후:
- 완료를 반영하도록 작업 항목 상태를 업데이트합니다.
- 개발 섹션에 병합 커밋이 표시되는지 확인합니다.
- 구현이 요구 사항을 완전히 충족하는 경우 작업 항목을 닫습니다.
자세한 내용은 GitHub Copilot?을 참조하세요.
문제 해결
오류 세부 정보 확인: 오류 아이콘 위로 마우스를 가져가서 세부 정보를 봅니다.
Copilot 다시 실행: Copilot 다시 실행을 선택하여 동일하거나 업데이트된 지침으로 다시 시도합니다.
수동 개입: 필요한 경우 생성된 분기를 수동으로 변경하고 끌어오기 요청을 수행합니다.
라이선스 문제
- 문제: 라이선스 유효성 검사가 실패합니다.
- 해결 방법: 활성 GitHub Copilot 구독이 있는지 확인한 다음, 메시지가 표시되면 라이선스 가져오기를 선택합니다.
리포지토리 액세스
- 문제: 예상 리포지토리를 볼 수 없습니다.
-
해결책:
- GitHub 앱 연결을 Azure DevOps와 GitHub 간에 확인합니다.
- 대상 GitHub 리포지토리에 액세스할 수 있는지 확인합니다.
- 리포지토리 권한 및 GitHub 앱 인증을 확인합니다.
- 리포지토리가 올바른 GitHub 앱 통합을 통해 연결되어 있는지 확인합니다.
Copilot 오류
- 문제: Copilot에서 오류가 발생합니다.
- 해결 방법: 오류 세부 정보를 검토하고, 지침을 명확히 하고, Copilot 다시 실행합니다.
다시 실행한 후 반복된 오류
- 문제: 다시 실행한 후에도 Copilot 계속 실패합니다.
-
해결책:
- GitHub 연결된 분기 및 끌어오기 요청에서 최신 작업 상태를 확인합니다.
- 리포지토리 및 브랜치 권한이 여전히 Copilot이 브랜치를 만들고 끌어오기 요청을 생성할 수 있도록 허용하는지 확인하세요.
- 문제가 계속되면 프로젝트 또는 조직 관리자에게 작업 항목 링크 및 끌어오기 요청 링크를 문의하세요.
진행 중인 작업 취소
비고
작업 항목에서 GitHub Copilot 작업을 시작한 후에는 취소할 수 없습니다. Copilot 코딩 에이전트는 완료될 때까지 실행됩니다. 원치 않는 결과를 해결하려면 GitHub 생성된 끌어오기 요청을 관리하거나 삭제합니다.
상태가 업데이트되지 않음
- 문제: 진행 상태가 중단된 상태로 유지됩니다.
- 해결 방법: 상태 업데이트는 GitHub 보고에 따라 달라지므로 GitHub 실제 진행률을 확인합니다.
모범 사례
- 작업 항목 설명: 더 나은 Copilot 결과를 위해 자세한 수용 조건 및 컨텍스트를 제공합니다.
- 간단하고 간결하게 변경합니다: 작업 항목 설명을 더 복잡하고 자세히 설명할수록 Copilot 이해하기가 더 어려워집니다. 명확하고 구체적인 요구 사항에 집중합니다.
- 특정 지침: Copilot 시작할 때 구현 지침을 추가합니다.
- 정기적인 모니터링: 특히 복잡한 작업 항목에 대해 주기적으로 진행 상황을 확인합니다.
- 프롬프트 검토: 초안 끌어오기 요청에 대한 피드백을 신속하게 검토하고 제공하여 모멘텀을 유지합니다.
- 적절한 작업 항목 위생: 프로세스 전체에서 작업 항목 상태를 적절하게 업데이트합니다.
제한점
Azure Boards GitHub Copilot 사용하는 경우 다음 제한 사항을 검토합니다.
- 종속성: Copilot 작업 항목 간의 종속성을 처리하지 않습니다. 각 작업 항목을 자체 포함 상태로 유지합니다.
- 데이터 공유: GitHub Copilot 작업 항목 제목, 큰 텍스트 필드, 메모 및 작업 항목 링크만 받습니다.
- 복잡성: 지나치게 복잡하거나 자세한 작업 항목 설명을 사용하면 Copilot 효율성을 줄일 수 있습니다.