Skip to main content

Enterprise Server 3.15 は、現在リリース候補として使用できます。

github upload-results

GitHub コード スキャンに SARIF ファイルをアップロードします。

この機能を使用できるユーザーについて

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>...

説明

GitHub コード スキャンに SARIF ファイルをアップロードします。

CodeQL 分析結果を GitHub にアップロードする」をご覧ください。

GitHub Apps トークンまたは個人用アクセス トークンを設定する必要があります。 セキュリティのベスト プラクティスとして、--github-auth-stdin フラグを設定し、標準入力を介してトークンをコマンドに渡すことをお勧めします。 または、GITHUB_TOKEN 環境変数を設定することもできます。

このトークンには、security_events スコープが必要です。

[オプション]

主なオプション

-s, --sarif=<file>

[必須] 使用する SARIF ファイルへのパス。 これは、github.com にアップロードするための --format sarif-latest を使用した codeql database analyze (または codeql database interpret-results) の出力、あるいは GitHub エンタープライズServer インスタンスでサポートされている適切な形式タグである必要があります (ご使用のリリースでサポートされている SARIF バージョンについては、「Code scanningの 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/head/branch-name というブランチである必要があります。 省略すると、CLI によって、チェックアウト パスの現在のブランチからの自動設定が試行されます (存在する場合)。

-c, --commit=<commit>

分析されたコミットの SHA。 これを省略すると、CLI によって、チェックアウト パスからの自動検出が試行されます。

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

チェックアウト パス。 デフォルト値は現在の作業ディレクトリです。

--merge

[詳細設定] 複数の SARIF ファイルを指定し、アップロードする前に単一のファイルにマージできるようにします。 これは、下位互換性のためにのみ推奨されます。 新しい分析では、カテゴリが異なる 2 つの別の SARIF ファイルをアップロードすることをお勧めします。 このオプションは、SARIF バージョン 2.1.0 (CodeQL で使用される SARIF のデフォルトのバージョン) を使用して CodeQL によって生成された SARIF ファイルと組み合わせてのみ機能します。

--no-wait-for-processing

既定では、CLI は GitHub による SARIF ファイルの処理を最大 2 分間待機し、分析結果の処理中にエラーが発生した場合は 0 以外の終了コードを返します。 CLI が待機する時間をカスタマイズする場合は --wait-for-processing-timeout を使用し、この機能を無効にする場合は --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>

[詳細設定] 詳細レベルを、errors、warnings、progress、progress+、progress++、progress+++ のいずれかに明示的に設定します。 -v-q がオーバーライドされます。

--logdir=<dir>

[詳細設定] タイムスタンプと実行中のサブコマンドの名前を含む生成された名前を使用して、指定されたディレクトリ内の 1 つまたは複数のファイルに詳細なログを書き込みます

(完全に制御できる名前でログ ファイルを書き込むには、代わりに --log-to-stderr を指定し、必要に応じて stderr をリダイレクトします)。

--common-caches=<dir>

[[詳細設定] ダウンロードした QL パックやコンパイル済みクエリ プランなど、CLI の複数の実行間に保持される、ディスク上でキャッシュされたデータの場所を制御します。 明示的に設定されない場合、デフォルトではユーザーのホーム ディレクトリに名前が付けられた .codeql ディレクトリになります。まだ存在しない場合は作成されます。

v2.15.2 以降で使用できます。