Skip to main content

끌어오기 요청을 병합하기 전에 코드 품질 결과 수정

기본 분기에 품질 문제가 도달하기 전에 발견하고, Copilot 자동 수정Copilot 클라우드 에이전트을(를) 사용하여 해결하세요.

누가 이 기능을 사용할 수 있나요?

쓰기 권한이 있는 사용자

GitHub Team 또는 GitHub Enterprise Cloud

참고

GitHub Code Quality은(는) 현재 공개 미리 보기에 있으며 변경될 수 있습니다. 공개 미리 보기에서 Code Quality은(는) 요금이 청구되지 않지만 Code Quality 스캔은 GitHub Actions 분을 소모합니다.

소개

이 자습서는 끌어오기 요청에서 GitHub Code Quality를 사용하여 코드 품질 문제를 식별하고, 이러한 변경으로 인해 실수로 발생할 수 있는 문제를 방지하는 방법을 보여줍니다. 또한, Copilot 자동 수정과 Copilot 클라우드 에이전트를 사용하여 코드 품질 발견 사항을 처리하고 해결하는 방법에 대해서도 설명합니다.

문제를 조기에 catch할 경우의 이점

코드 품질 문제를 조기에 발견하면 팀의 코드베이스를 잘 유지할 수 있습니다. GitHub Code Quality는 코드에서 다음을 검사합니다.

  •         **안정성**: 예를 들어 논리 오류, 안전하지 않은 오류 처리 또는 앱이 충돌하거나 예측 불가능한 동작을 일으킬 수 있는 경합 조건을 포함합니다. 이러한 유형의 문제를 조기에 해결하면 소프트웨어를 더욱 강력하고 신뢰할 수 있게 만들 수 있습니다.
    
  •         **유지 관리:** 예를 들어 중복된 코드, 지나치게 복잡한 논리, 사용되지 않는 변수 또는 코딩 모범 사례 위반입니다. 이러한 문제를 해결하면 코드를 더 쉽고 쉽게 읽을 수 있으므로 향후 변경 내용이 더 빠르고 위험하지 않습니다.
    

1. 끌어오기 요청에서 작동하는 방식 GitHub Code Quality 이해

끌어오기 요청을 열면, GitHub Code Quality가 CodeQL을 사용하여 위에서 설명한 것과 같은 품질 문제를 자동으로 검색합니다.

검사 결과는 github-code-quality[bot]에서 귀하의 끌어오기 요청에 대한 주석으로 보고됩니다. 각 주석은 변경 내용에서 발견된 특정 코드 품질 문제에 해당하며 제안된 자동 수정과 함께 제공됩니다.

주석은 심각도(오류, 경고, 참고)로 레이블이 지정되므로 가장 중요한 결과를 확인할 수 있습니다.

2. 심각도에 따라 수정의 우선 순위 지정

주석을 검색하고 심각도가 가장 높은 결과("오류")를 먼저 식별합니다.

"오류" 결과가 없는 경우 다음 심각도 수준("경고")의 결과를 찾습니다.

심각도가 높은 결과는 코드베이스에 안정성 또는 유지 관리 문제를 발생시킬 가능성이 더 높은 더 심각한 코드 품질 문제를 나타냅니다. 심각도가 높은 결과를 해결하면 팀 코드의 품질을 유지하기 위해 가장 영향력 있는 작업을 수행하게 됩니다.

참고

끌어오기 요청에 특정 심각도 수준 이상의 결과가 포함된 **** 경우 리포지토리 관리자는 끌어오기 요청의 병합을 Code Quality 코드 품질 게이트를 설정했을 수 있습니다. 끌어오기 요청에서 블록 해결을(를) 참조하세요.

3. 발견된 문제를 수정하기 위해 Copilot 자동 수정 또는 Copilot 클라우드 에이전트를 활용하십시오.

Copilot 자동 수정

풀 리퀘스트에 대한 코멘트에는 풀 리퀘스트에 직접 커밋할 수 있는 제안된 자동 수정이 포함됩니다. 논리, 보안 및 스타일에 대해 제안된 자동 수정을 신중하게 검토한 다음 제안 적용을 클릭합니다.

이러한 제안을 적용하는 데는 Copilot 라이선스가 필요 없습니다.

Copilot 클라우드 에이전트

또는 Copilot 라이선스가 있는 경우, Copilot 클라우드 에이전트에게 수정 작업을 위임할 수 있습니다. 끌어오기 요청에서 @Copilot을 언급하고 Copilot에게 발견된 문제를 수정하도록 요청합니다.

Copilot 클라우드 에이전트를 호출한 PR 주석을 보여 주는 스크린샷

          Copilot 는 메모에 눈 이모티콘(👀)으로 응답하고, 새 에이전트 세션을 시작하고, 필요한 수정 사항으로 끌어오기 요청을 엽니다.

          Copilot 클라우드 에이전트의 작업을 추적할 수 있습니다.
  • 끌어오기 요청에서 작업이 진행됨에 따라 요약이 업데이트됩니다.
  •         [에이전트 페이지](https://github.com/copilot/agents?ref_product=copilot&ref_type=engagement&ref_style=text) 또는 세션 로그를 사용하여 [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/track-copilot-sessions)을 참조하세요.
    

를 호출Copilot하려면 라이선스가 Copilot 클라우드 에이전트 필요합니다.
등록 Copilot

4. 관련 없는 조사 결과 해제

코드베이스의 컨텍스트에서 관련이 없거나 실행 가능하지 않은 경우 찾기를 해제할 수 있습니다. 발견을 기각하는 일반적인 이유는 다음과 같습니다.

  • 발견은 더 이상 유지 관리되지 않는 레거시 코드에 있습니다.
  • 이는 팀의 코딩 표준에 대한 알려진 예외입니다.
  • 실제 품질 위험을 초래하지 않는 오탐입니다.

관련 없는 경고를 해제하면 품질 검사를 의미 있는 문제에 집중할 수 있습니다.

5. 변경 내용을 푸시하고 검사를 기다립니다.

결과를 수정하거나 해제한 후 끌어오기 요청과 연결된 분기에 변경 내용을 푸시합니다. GitHub Code Quality 는 변경 내용을 자동으로 다시 검사하고 그에 따라 끌어오기 요청에 대한 주석을 업데이트합니다.

6. 리포지토리의 코드 품질 등급 확인

쓰기 액세스 권한이 있는 사용자는 리포지토리에 대한 전체 코드 품질 등급을 볼 수 있으며, 기본 분기에서 코드의 안정성 및 유지 관리 가능성을 요약합니다.

리포지토리의 등급을 보려면 리포지토리의 탭으로 이동하고 Security and quality 사이드바에서 확장 코드 품질 한 다음 클릭합니다 표준 결과.

끌어오기 요청을 병합하기 전에 문제를 해결함으로써 이러한 등급을 유지하는 데 직접 기여했습니다.

다음 단계

  • 기본 분기의 코드 품질 결과를 해결하고 리포지토리의 안정성 및 유지 관리 등급에 대해 이해합니다. 리포지토리 코드의 품질 향상을(를) 참조하세요.
  •         GitHub Code Quality에 대해 [커뮤니티 토론](https://github.com/orgs/community/discussions/177488)에서 피드백을 제공합니다.