# 코드 품질에 대한 CodeQL 기반 분석

Code Quality용 CodeQL 기반 분석이 작동하는 방식, 사용되는 워크플로, 풀 리퀘스트에서 보고되는 상태 검증에 대한 정보입니다.

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

## CodeQL 기반 분석

```
          Code Quality는 CodeQL을 사용하여 끌어오기 요청과 기본 분기에 대한 규칙 기반 분석을 수행합니다.
```

\*
**기본 분기에** 대한 결과는 리포지토리 탭 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality 아래의 "\*\*\*\*" 대시보드 아래에 표시됩니다.

* ```
          **끌어오기 요청에 대한** 결과는 댓글`github-code-quality[bot]`로 표시됩니다.

          Copilot Autofix 가능한 경우 결과에 대한 제안이 제공됩니다.
  ```

### 지원되는 언어에 대한 쿼리 목록

각 Code Quality 규칙은 CodeQL로 쿼리로 작성된 후 GitHub Actions를 사용하여 실행됩니다.

규칙은 GitHub와 오픈 소스 개발자들에 의해 지속적으로 세밀하게 다듬어지고 있습니다.

* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/csharp-queries)
  ```
* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/go-queries)
  ```
* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/java-queries)
  ```
* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/javascript-queries)
  ```
* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/python-queries)
  ```
* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/ruby-queries)
  ```

프로젝트에 대한 자세한 내용은 다음을 CodeQL 참조하세요 <https://codeql.github.com/>.

## 코드 품질 분석에 사용되는 워크플로

리포지토리의 **작업** 탭에서 Code Quality의 모든 워크플로 실행을 볼 수 있습니다. 동적 워크플로를 "코드 품질"라고 합니다.

기본적으로 워크플로는 코드 품질 표준 GitHub 실행기에서 실행되지만, 특정 레이블이 있는 실행기를 사용하도록 Code Quality 구성할 수 있습니다. 이러한 항목은 GitHub에 의해 호스팅되거나 자체 호스팅될 수 있습니다.

조직에서 프라이빗 레지스트리의 캐싱을 구성한 경우 종속성을 해결하는 데 사용할 코드 품질 분석에 사용할 수 있습니다.

자세한 내용은 다음을 참조하세요.

* ```
          [AUTOTITLE](/code-security/code-quality/how-tos/enable-code-quality)
  ```
* ```
          [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-quality-access-to-private-registries)
  ```

## 끌어오기 요청 상태 검사

끌어오기 요청에서 코드 품질 분석이 실행되면, 끌어오기 요청의 하단 "검사" 섹션에 "CodeQL - 코드 품질 / Analyze" 검사가 표시됩니다.

검사로 식별되는 모든 코드 문제는 끌어오기 요청에 대한 주석으로 보고됩니다. 주석은 `github-code-quality[bot]`에 의해 작성되었으며 Copilot Autofix 제안을 포함합니다.

### 상태 검사 실패

워크플로를 실행하지 못했습니다. 예를 들어 작업 시간(분)에 대한 예산이 소진됩니다.
[오류를 진단하려면 로그 보기를 참조하세요](/ko/enterprise-cloud@latest/actions/how-tos/monitor-workflows/use-workflow-run-logs#viewing-logs-to-diagnose-failures).

### 병합이 차단됨: 코드 품질 검색 결과 검색됨

검사 결과 리포지토리에 대한 코드 품질 분기 규칙에 의해 설정된 품질 게이트를 초과하는 코드에서 문제가 발견되었습니다. 끌어오기 요청을 병합하려면 이러한 문제를 해결해야 합니다.
[끌어오기 요청에서 블록 해결](/ko/enterprise-cloud@latest/code-security/code-quality/how-tos/unblock-your-pr)을(를) 참조하세요.