Skip to main content

github 업로드 결과

SARIF 파일을 GitHub 코드 검사에 업로드합니다.

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

CodeQL은(는) 다음 리포지토리 유형에 사용할 수 있습니다.

이 문서의 내용

이 콘텐츠는 CodeQL CLI의 최신 릴리스에 대해 설명합니다. 이 요소에 대한 자세한 내용은 https://github.com/github/codeql-cli-binaries/releases을(를) 참조하세요.

이전 릴리스에서 이 명령에 사용할 수 있는 옵션의 세부 정보를 보려면 터미널에서 옵션을 사용하여 --help 명령을 실행합니다.

개요

Shell
codeql github upload-results --sarif=<file> [--github-auth-stdin] [--github-url=<url>] [--repository=<repository-name>] [--ref=<ref>] [--commit=<commit>] [--checkout-path=<path>] <options>...

설명

SARIF 파일을 GitHub 코드 검사에 업로드합니다.

GitHub에 CodeQL 분석 결과 업로드을(를) 참조하세요.

GitHub 앱 토큰 또는 개인용 액세스 토큰을 설정해야 합니다. 보안 모범 사례는 --github-auth-stdin 플래그를 설정하고 표준 입력을 통해 토큰을 명령에 전달하는 것입니다. 또는 GITHUB_TOKEN 환경 변수를 설정할 수 있습니다.

이 토큰에는 security_events 범위가 있어야 합니다.

옵션

기본 옵션

-s, --sarif=<file>

[필수] 사용할 SARIF 파일의 경로입니다. 이는 github.com에 업로드하기 위해 --format sarif-latest을(를) 사용한 codeql 데이터베이스 분석(또는 codeql 데이터베이스 해석 결과)의 출력이거나 GitHub Enterprise Server 인스턴스에 대해 지원되는 적절한 형식 태그여야 합니다(해당 릴리스에서 지원하는 SARIF 버전은 코드 검사에 대한 SARIF 지원 참조).

-r, --repository=<repository-name>

업로드를 위한 엔드포인트로 사용할 GitHub 리포지토리 소유자 및 이름(예: github/octocat)입니다. 생략된 경우 CLI는 체크 아웃 경로에서 이에 대한 자동 감지를 시도합니다.

-f, --ref=<ref>

분석된 ref의 이름입니다. 이 ref가 pull request 병합 커밋인 경우 refs/pull/1234/merge 또는 _refs/pull/1234/head_를 사용합니다(이 커밋이 PR의 HEAD 또는 MERGE 커밋에 해당하는지 여부에 따라 다름). 그렇지 않으면 _refs/heads/branch-name_의 분기여야 합니다. 생략된 경우 CLI는 체크 아웃 경로의 현재 분기(있는 경우)에서 자동으로 ref의 이름을 채우는 시도를 합니다.

-c, --commit=<commit>

분석된 커밋의 SHA입니다. 생략된 경우 CLI는 체크 아웃 경로에서 이에 대한 자동 감지를 시도합니다.

-p, --checkout-path=<path>

체크 아웃 경로입니다. 기본값은 현재 작업 디렉터리입니다.

--merge

[고급] 둘 이상의 SARIF 파일을 지정하고 업로드하기 전에 단일 파일로 병합할 수 있습니다. 이전 버전과의 호환성을 위해서만 권장됩니다. 새 분석의 경우 범주가 다른 두 개의 별도 SARIF 파일을 업로드하는 것이 좋습니다. 이 옵션은 CodeQL에서 생성된 SARIF 파일과 SARIF 버전 2.1.0(CodeQL에서 사용하는 기본 버전의 SARIF)과 함께할 때만 작동합니다.

--no-wait-for-processing

기본적으로 CLI는 GitHub가 SARIF 파일을 최대 2분 동안 처리할 때까지 기다렸다가 분석 결과를 처리하는 동안 오류가 발생한 경우 0이 아닌 종료 코드를 반환합니다. --wait-for-processing-timeout을 사용하여 CLI가 대기하는 시간을 사용자 정의하거나 --no-wait-for-processing를 사용하여 기능을 비활성화할 수 있습니다.

--wait-for-processing-timeout=<waitForProcessingTimeout>

업로드된 SARIF 파일이 GitHub에서 처리될 때까지 CLI가 대기하는 최대 시간(초)입니다. 기본값은 120초(2분)입니다. 이 옵션은 --wait-for-processing을 사용하도록 설정한 경우에만 유효합니다.

--format=<fmt>

출력 형식을 선택합니다. 다음을 선택할 수 있습니다.

text(기본값): SARIF 업로드의 상태를 추적하는 URL을 인쇄합니다.

json: SARIF 업로드 API 요청의 응답 본문을 인쇄합니다.

코드 검색에 대한 REST API 엔드포인트도 참조하세요.

SARIF 파일의 업로드 위치를 구성하는 옵션

-a, --github-auth-stdin

표준 입력을 통해 GitHub Apps 토큰 또는 개인용 액세스 토큰을 수락합니다.

이렇게 하면 GITHUB_TOKEN 환경 변수가 재정의됩니다.

-g, --github-url=<url>

사용할 GitHub 인스턴스의 URL입니다. 생략하면 CLI는 체크 아웃 경로에서 이에 대한 자동 감지를 시도하며, 이것이 가능하지 않은 경우 기본값은 https://github.com/입니다.

일반 옵션

-h, --help

이 도움말 텍스트를 표시합니다.

-J=<opt>

[고급] 명령을 실행하는 JVM에 옵션을 지정합니다.

(공백을 포함하는 옵션은 올바르게 처리되지 않을 수 있으니 주의하세요.)

-v, --verbose

출력되는 진행률 메시지 수를 점진적으로 늘립니다.

-q, --quiet

출력되는 진행률 메시지 수를 점진적으로 줄입니다.

--verbosity=<level>

[고급] 세부 정보 표시 수준을 오류, 경고, 진행률, 진행률+, 진행률++, 진행률+++ 중 하나로 명시적으로 설정합니다. -v-q를 재정의합니다.

--logdir=<dir>

[고급] 타임스탬프와 실행 중인 하위 명령의 이름을 포함하는 생성된 이름을 사용하여 지정된 디렉터리에 있는 하나 이상의 파일에 자세한 로그를 기록합니다.

(모든 권한을 가진 이름으로 로그 파일을 작성하려면 --log-to-stderr을(를) 지정하고 stderr를 원하는 대로 리디렉션합니다.)

--common-caches=<dir>

[고급] 다운로드한 QL 팩 및 컴파일된 쿼리 계획과 같이 여러 CLI 실행 간에 유지되는 디스크의 캐시된 데이터의 위치를 제어합니다. 명시적으로 설정하지 않은 경우 이 기본값은 사용자의 홈 디렉터리에 이름이 지정된 .codeql 디렉터리로 설정되며, 아직 없는 경우 만들어집니다.

v2.15.2부터 사용할 수 있습니다.