# GitHubで結果をアップロード (github upload-results)

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

> \[!NOTE]
> このコンテンツでは、CodeQL CLI の最新リリースについて説明します。 このリリースについて詳しくは、 <https://github.com/github/codeql-cli-binaries/releases> をご覧ください。
>
> 以前のリリースの、このコマンドで使えるオプションを詳しく確認するには、ターミナルで <span style="white-space: nowrap;">`--help`</span> オプションを指定してコマンドを実行してください。

## 概要

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

## Description

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

「[CodeQL 分析結果をGitHubにアップロードする](/ja/code-security/codeql-cli/getting-started-with-the-codeql-cli/uploading-codeql-analysis-results-to-github)」をご覧ください。

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

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

## オプション

### 主なオプション

#### `-s, --sarif=<file>`

```
          \[必須] 使用する SARIF ファイルへのパス。 これは、github.com にアップロードするための [](/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-analyze) を使用した [codeql database analyze](/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-interpret-results) (または `--format sarif-latest`) の出力、あるいは GitHub エンタープライズServer インスタンスでサポートされている適切な形式タグである必要があります (ご使用のリリースでサポートされている SARIF バージョンについては、「[AUTOTITLE](/enterprise-server@latest/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning)」を参照)。
```

#### `-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 以外の終了コードを返します。
`--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 エンドポイント](/ja/rest/code-scanning/code-scanning)」も参照してください。

### 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` 以降で使用できます。
```