# GitHub CLI を使用したファイルの添付

コマンド ラインを離れることなく、問題、pull request、コメントにローカルの画像とビデオを添付します。

`--attach` フラグを使用して、GitHub CLIを使用して、コマンド ラインからローカルイメージまたはビデオをアタッチできます。
GitHub CLI ファイルを GitHub にアップロードし、結果の URL を問題、pull request、またはコメントの本文に書き込みます。そのため、ブラウザーに添付した場合と同じようにインラインでレンダリングされます。

ファイルをアタッチするには、リポジトリへのプッシュ アクセスが必要です。

`--attach` フラグは、次のコマンドで使用できます。

* `gh issue create`
* `gh issue edit`
* `gh issue comment`
* `gh pr create`
* `gh pr edit`
* `gh pr comment`

## ファイルの添付

ローカル ファイルへのパスを使用して `--attach` を渡します。 次の例では、ISSUE-NUMBER を問題の数に置き換え、PATH/TO/IMAGE をイメージへのパスに置き換えます。 フラグを繰り返して複数のファイルを添付できますが、同じファイルを 2 回アタッチすることはできません。

```shell
gh issue comment ISSUE-NUMBER --attach PATH/TO/IMAGE
```

`--attach`を`--body`または`--body-file`と組み合わせて、画像やビデオを Markdown に埋め込むことができます。 次の例では、pull request タイトル、Markdown 本文ファイル、および 2 つのイメージ ファイルのプレースホルダーを使用します。

```shell
gh pr create \
  --title "PULL-REQUEST-TITLE" \
  --body-file PATH/TO/BODY-FILE \
  --attach PATH/TO/FIRST-IMAGE \
  --attach PATH/TO/SECOND-IMAGE
```

画像の代替テキストを設定するには、alt-TEXT の代わりに、 `#`の後のパスの末尾に追加します。

```shell
gh issue comment ISSUE-NUMBER --attach 'PATH/TO/IMAGE#ALT-TEXT'
```

代替テキストを指定しない場合、 GitHub CLI はファイル名を使用します。

> \[!NOTE]
> 代替テキストは、ビデオ ファイルではサポートされていません。

## Markdown に添付ファイルを埋め込む

Markdown テキストが既にローカル ファイルを参照していて、同じファイルを `--attach` で添付している場合、 GitHub CLI は、2 番目のコピーを末尾に追加するのではなく、アップロードされたファイルを指すようにその参照を書き換えます。 これにより、通常のローカル パスで Markdown を記述し、イメージがレンダリングされる場所でローカルにプレビューしてから、変更せずに投稿することができます。 本文テキストの取得元 ( `--body`、 `--body-file`、標準入力、テキスト エディター) に関係なく、参照が書き換えられます。

### 画像の埋め込み

たとえば、次の内容を `PATH/TO/BODY-FILE`に保存します。

```markdown
The sign-in screen shows an error where the form should be:

![the sign-in screen showing an authentication error](PATH/TO/IMAGE)
```

`--body-file`で次のコマンドを実行します。

```shell
gh issue comment \
  ISSUE-NUMBER \
  --body-file PATH/TO/BODY-FILE \
  --attach PATH/TO/IMAGE
```

GitHub CLI は、ローカル パスをアップロードされた URL に置き換え、Markdown と代替テキストを保持します。 参照が書き換えられた場合、代替テキストは Markdown から取得されるため、フラグの `#` 代替テキストは追加されたファイルにのみ適用されます。

本文が参照していない添付ファイルは、フラグを渡した順序で本文の末尾に追加されます。

### ビデオの埋め込み

ビデオをプレーヤーとして埋め込むには、次の Markdown 画像参照を `PATH/TO/VIDEO-BODY-FILE`に保存します。 参照は、その段落内の唯一のコンテンツである必要があります。

```markdown
![](PATH/TO/VIDEO)
```

次に、同じビデオを添付します。

```shell
gh issue comment \
  ISSUE-NUMBER \
  --body-file PATH/TO/VIDEO-BODY-FILE \
  --attach PATH/TO/VIDEO
```

GitHub CLI は、参照全体をアップロードされた URL に置き換えます。これはプレーヤーとしてレンダリングされます。 参照が文内に表示される場合は、代わりにリンクとしてレンダリングされます。

## 制限事項

GitHub CLIでは、イメージ ファイルとメディア ファイルのアップロードのみがサポートされます。 サポートされているファイルの種類の一覧については、 [ファイルを添付](/ja/get-started/writing-on-github/working-with-advanced-formatting/attaching-files#image-and-media-files) を参照してください。