---
title: GitHub
description: GitHubとの連携やGitHubイベントからワークフローをトリガーする
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="github"
  color="#181C1E"
/>

{/* MANUAL-CONTENT-START:intro */}
[GitHub](https://github.com/)は、Gitを使用したソフトウェア開発とバージョン管理のための世界最大のプラットフォームです。開発者がコードをホストしてレビューし、プロジェクトを管理し、共同でソフトウェアを構築できる協力的な環境を提供しています。

GitHubでは以下のことができます：

- **リポジトリのホスティング**: バージョン管理機能を備えた公開または非公開リポジトリにコードを保存
- **コードの共同作業**: プルリクエストを使用して変更を提案し、コードをレビューし、貢献をマージ
- **課題の追跡**: 作業を整理しバグを追跡するための課題を作成、割り当て、管理
- **ワークフローの自動化**: GitHub Actionsを使用してコードの構築、テスト、デプロイを自動化
- **プロジェクト管理**: プロジェクトボード、マイルストーン、タスク追跡で作業を整理
- **コードのドキュメント化**: GitHub PagesやWikiでドキュメントを作成・維持

Simでは、GitHub統合によりエージェントがGitHubリポジトリやワークフローと直接やり取りできるようになります。これにより、コードレビュー支援、プルリクエスト管理、課題追跡、リポジトリ探索などの強力な自動化シナリオが可能になります。エージェントはリポジトリデータの取得、コード変更の分析、プルリクエストへのコメント投稿、その他のGitHub操作をプログラムで実行できます。この統合により、AIワークフローと開発プロセスの間のギャップが埋まり、エージェントと開発チーム間のシームレスな連携が実現します。
{/* MANUAL-CONTENT-END */}

## 使用方法

GitHubをワークフローに統合します。PRの詳細取得、PRコメントの作成、リポジトリ情報の取得、最新コミットの取得が可能です。GitHub APIトークンキーが必要です。PRが作成された時、コメントされた時、またはコミットがプッシュされた時にワークフローをトリガーするトリガーモードでも使用できます。

## ツール

### `github_pr`

差分や変更されたファイルを含むPRの詳細を取得します

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリオーナー |
| `repo` | string | はい | リポジトリ名 |
| `pullNumber` | number | はい | プルリクエスト番号 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読みやすいPRの要約 |
| `metadata` | object | ファイル変更を含む詳細なPRメタデータ |

### `github_comment`

GitHub PRにコメントを作成します

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `body` | string | はい | コメント内容 |
| `pullNumber` | number | はい | プルリクエスト番号 |
| `path` | string | いいえ | レビューコメント用のファイルパス |
| `position` | number | いいえ | レビューコメント用の行番号 |
| `commentType` | string | いいえ | コメントのタイプ（pr_commentまたはfile_comment） |
| `line` | number | いいえ | レビューコメント用の行番号 |
| `side` | string | いいえ | 差分の側面（LEFTまたはRIGHT） |
| `commitId` | string | いいえ | コメントするコミットのSHA |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるコメント確認 |
| `metadata` | object | コメントのメタデータ |

### `github_repo_info`

スター数、フォーク数、イシュー、主要言語など、GitHubリポジトリの包括的なメタデータを取得します。オプションの認証で公開および非公開リポジトリをサポートします。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるリポジトリの概要 |
| `metadata` | object | リポジトリのメタデータ |

### `github_latest_commit`

GitHubリポジトリから最新のコミットを取得する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `branch` | string | いいえ | ブランチ名（デフォルトはリポジトリのデフォルトブランチ） |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるコミットの概要 |
| `metadata` | object | コミットのメタデータ |

### `github_issue_comment`

GitHubイシューにコメントを作成する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `issue_number` | number | はい | イシュー番号 |
| `body` | string | はい | コメント内容 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるコメント確認 |
| `metadata` | object | コメントのメタデータ |

### `github_list_issue_comments`

GitHubイシューのすべてのコメントを一覧表示する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `issue_number` | number | はい | イシュー番号 |
| `since` | string | いいえ | このISO 8601タイムスタンプ以降に更新されたコメントのみを表示 |
| `per_page` | number | いいえ | ページあたりの結果数（最大100） |
| `page` | number | いいえ | ページ番号 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるコメント概要 |
| `metadata` | object | コメントリストのメタデータ |

### `github_update_comment`

GitHubのイシューまたはプルリクエストの既存コメントを更新する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `comment_id` | number | はい | コメントID |
| `body` | string | はい | 更新されたコメント内容 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読める更新確認 |
| `metadata` | object | 更新されたコメントのメタデータ |

### `github_delete_comment`

GitHubのイシューまたはプルリクエストのコメントを削除する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `comment_id` | number | はい | コメントID |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読める削除確認 |
| `metadata` | object | 削除結果のメタデータ |

### `github_list_pr_comments`

GitHubプルリクエストのすべてのレビューコメントを一覧表示する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `pullNumber` | number | はい | プルリクエスト番号 |
| `sort` | string | いいえ | 作成日または更新日でソート |
| `direction` | string | いいえ | ソート方向（ascまたはdesc） |
| `since` | string | いいえ | この ISO 8601 タイムスタンプ以降に更新されたコメントのみを表示 |
| `per_page` | number | いいえ | ページあたりの結果数（最大100） |
| `page` | number | いいえ | ページ番号 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるレビューコメントの概要 |
| `metadata` | object | レビューコメントリストのメタデータ |

### `github_create_pr`

GitHubリポジトリに新しいプルリクエストを作成する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `title` | string | はい | プルリクエストのタイトル |
| `head` | string | はい | 変更が実装されているブランチの名前 |
| `base` | string | はい | 変更を取り込みたいブランチの名前 |
| `body` | string | いいえ | プルリクエストの説明（Markdown） |
| `draft` | boolean | いいえ | ドラフトプルリクエストとして作成 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるPR作成確認 |
| `metadata` | object | プルリクエストのメタデータ |

### `github_update_pr`

GitHubリポジトリの既存のプルリクエストを更新する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `pullNumber` | number | はい | プルリクエスト番号 |
| `title` | string | いいえ | 新しいプルリクエストのタイトル |
| `body` | string | いいえ | 新しいプルリクエストの説明（Markdown） |
| `state` | string | いいえ | 新しい状態（openまたはclosed） |
| `base` | string | いいえ | 新しいベースブランチ名 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるPR更新確認 |
| `metadata` | object | 更新されたプルリクエストのメタデータ |

### `github_merge_pr`

GitHubリポジトリでプルリクエストをマージする

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `pullNumber` | number | はい | プルリクエスト番号 |
| `commit_title` | string | いいえ | マージコミットのタイトル |
| `commit_message` | string | いいえ | マージコミットメッセージに追加する詳細 |
| `merge_method` | string | いいえ | マージ方法：merge、squash、またはrebase |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるマージ確認 |
| `metadata` | object | マージ結果のメタデータ |

### `github_list_prs`

GitHubリポジトリのプルリクエスト一覧を取得する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `state` | string | いいえ | 状態でフィルタリング：open、closed、またはall |
| `head` | string | いいえ | ヘッドユーザーまたはブランチ名でフィルタリング（形式：user:ref-nameまたはorganization:ref-name） |
| `base` | string | いいえ | ベースブランチ名でフィルタリング |
| `sort` | string | いいえ | 並べ替え：created、updated、popularity、またはlong-running |
| `direction` | string | いいえ | 並べ替え方向：ascまたはdesc |
| `per_page` | number | いいえ | 1ページあたりの結果数（最大100） |
| `page` | number | いいえ | ページ番号 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるプルリクエストのリスト |
| `metadata` | object | プルリクエストリストのメタデータ |

### `github_get_pr_files`

プルリクエストで変更されたファイルのリストを取得する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリオーナー |
| `repo` | string | はい | リポジトリ名 |
| `pullNumber` | number | はい | プルリクエスト番号 |
| `per_page` | number | いいえ | 1ページあたりの結果数（最大100） |
| `page` | number | いいえ | ページ番号 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | PRで変更されたファイルの人間が読めるリスト |
| `metadata` | object | PRファイルのメタデータ |

### `github_close_pr`

GitHubリポジトリでプルリクエストを閉じる

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリオーナー |
| `repo` | string | はい | リポジトリ名 |
| `pullNumber` | number | はい | プルリクエスト番号 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるPR閉鎖確認 |
| `metadata` | object | 閉じられたプルリクエストのメタデータ |

### `github_request_reviewers`

プルリクエストのレビュアーをリクエストする

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `pullNumber` | number | はい | プルリクエスト番号 |
| `reviewers` | string | はい | レビューをリクエストするユーザーログインのカンマ区切りリスト |
| `team_reviewers` | string | いいえ | レビューをリクエストするチームスラッグのカンマ区切りリスト |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるレビュアーリクエスト確認 |
| `metadata` | object | リクエストされたレビュアーのメタデータ |

### `github_get_file_content`

GitHubリポジトリからファイルの内容を取得します。1MBまでのファイルをサポートします。コンテンツはデコードされ、人間が読める形式で返されます。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `path` | string | はい | リポジトリ内のファイルへのパス（例："src/index.ts"） |
| `ref` | string | いいえ | ブランチ名、タグ、またはコミットSHA（デフォルトはリポジトリのデフォルトブランチ） |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 内容プレビュー付きの人間が読めるファイル情報 |
| `metadata` | object | 名前、パス、SHA、サイズ、URLを含むファイルメタデータ |

### `github_create_file`

GitHubリポジトリに新しいファイルを作成します。ファイルの内容は自動的にBase64エンコードされます。1MBまでのファイルをサポートしています。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `path` | string | はい | ファイルが作成されるパス（例："src/newfile.ts"） |
| `message` | string | はい | このファイル作成のためのコミットメッセージ |
| `content` | string | はい | ファイルの内容（プレーンテキスト、自動的にBase64エンコードされます） |
| `branch` | string | いいえ | ファイルを作成するブランチ（デフォルトはリポジトリのデフォルトブランチ） |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるファイル作成確認 |
| `metadata` | object | ファイルとコミットのメタデータ |

### `github_update_file`

GitHubリポジトリ内の既存のファイルを更新します。ファイルのSHAが必要です。内容は自動的にBase64エンコードされます。1MBまでのファイルをサポートしています。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `path` | string | はい | 更新するファイルのパス（例："src/index.ts"） |
| `message` | string | はい | このファイル更新のためのコミットメッセージ |
| `content` | string | はい | 新しいファイルの内容（プレーンテキスト、自動的にBase64エンコードされます） |
| `sha` | string | はい | 置き換えられるファイルのblobのSHA（github_get_file_contentから取得） |
| `branch` | string | いいえ | ファイルを更新するブランチ（デフォルトはリポジトリのデフォルトブランチ） |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるファイル更新の確認 |
| `metadata` | object | 更新されたファイルとコミットのメタデータ |

### `github_delete_file`

GitHubリポジトリからファイルを削除します。ファイルのSHAが必要です。この操作はAPI経由で元に戻すことはできません。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `path` | string | はい | 削除するファイルのパス（例："src/oldfile.ts"） |
| `message` | string | はい | このファイル削除のためのコミットメッセージ |
| `sha` | string | はい | 削除されるファイルのblobのSHA（github_get_file_contentから取得） |
| `branch` | string | いいえ | ファイルを削除するブランチ（デフォルトはリポジトリのデフォルトブランチ） |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるファイル削除の確認 |
| `metadata` | object | 削除確認とコミットメタデータ |

### `github_get_tree`

GitHubリポジトリ内のディレクトリの内容を取得します。ファイルとサブディレクトリのリストを返します。ルートディレクトリの内容を取得するには、パスを空にするか省略してください。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `path` | string | いいえ | ディレクトリパス（例："src/components"）。ルートディレクトリの場合は空のままにします。 |
| `ref` | string | いいえ | ブランチ名、タグ、またはコミットSHA（デフォルトはリポジトリのデフォルトブランチ） |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるディレクトリツリー一覧 |
| `metadata` | object | ディレクトリ内容のメタデータ |

### `github_list_branches`

GitHubリポジトリ内のすべてのブランチを一覧表示します。オプションで保護ステータスでフィルタリングし、ページネーションを制御できます。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `protected` | boolean | いいえ | 保護ステータスによるブランチのフィルタリング |
| `per_page` | number | いいえ | ページあたりの結果数（最大100、デフォルト30） |
| `page` | number | いいえ | ページネーションのページ番号（デフォルト1） |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるブランチのリスト |
| `metadata` | object | ブランチリストのメタデータ |

### `github_get_branch`

GitHubリポジトリの特定のブランチに関する詳細情報（コミット詳細や保護状態を含む）を取得します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `branch` | string | はい | ブランチ名 |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるブランチの詳細 |
| `metadata` | object | ブランチのメタデータ |

### `github_create_branch`

特定のコミットSHAを指すgitリファレンスを作成することで、GitHubリポジトリに新しいブランチを作成します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `branch` | string | はい | 作成するブランチの名前 |
| `sha` | string | はい | ブランチが指すコミットSHA |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるブランチ作成確認 |
| `metadata` | object | Gitリファレンスのメタデータ |

### `github_delete_branch`

GitHubリポジトリからブランチを削除するには、そのgitリファレンスを削除します。保護されたブランチは削除できません。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `branch` | string | はい | 削除するブランチの名前 |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読める削除確認 |
| `metadata` | object | 削除メタデータ |

### `github_get_branch_protection`

特定のブランチのブランチ保護ルール（ステータスチェック、レビュー要件、制限など）を取得します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `branch` | string | はい | ブランチ名 |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるブランチ保護の概要 |
| `metadata` | object | ブランチ保護の設定 |

### `github_update_branch_protection`

特定のブランチに対するブランチ保護ルールを更新します。ステータスチェック、レビュー要件、管理者への適用、プッシュ制限などを含みます。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `branch` | string | はい | ブランチ名 |
| `required_status_checks` | object | はい | 必須ステータスチェックの設定（無効にするにはnull）。strict（ブール値）とcontexts（文字列配列）を持つオブジェクト |
| `enforce_admins` | boolean | はい | 管理者に対して制限を適用するかどうか |
| `required_pull_request_reviews` | object | はい | PRレビュー要件（無効にするにはnull）。required_approving_review_count、dismiss_stale_reviews、require_code_owner_reviewsなどのオプションを持つオブジェクト |
| `restrictions` | object | はい | プッシュ制限（無効にするにはnull）。users（文字列配列）とteams（文字列配列）を持つオブジェクト |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるブランチ保護更新の概要 |
| `metadata` | object | 更新されたブランチ保護設定 |

### `github_create_issue`

GitHubリポジトリに新しいイシューを作成する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `title` | string | はい | イシューのタイトル |
| `body` | string | いいえ | イシューの説明/本文 |
| `assignees` | string | いいえ | このイシューに割り当てるユーザー名のカンマ区切りリスト |
| `labels` | string | いいえ | このイシューに追加するラベル名のカンマ区切りリスト |
| `milestone` | number | いいえ | このイシューに関連付けるマイルストーン番号 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるイシュー作成確認 |
| `metadata` | object | イシューのメタデータ |

### `github_update_issue`

GitHubリポジトリの既存のイシューを更新する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリオーナー |
| `repo` | string | はい | リポジトリ名 |
| `issue_number` | number | はい | イシュー番号 |
| `title` | string | いいえ | 新しいイシュータイトル |
| `body` | string | いいえ | 新しいイシューの説明/本文 |
| `state` | string | いいえ | イシューの状態（openまたはclosed） |
| `labels` | array | いいえ | ラベル名の配列（既存のすべてのラベルを置き換えます） |
| `assignees` | array | いいえ | ユーザー名の配列（既存のすべての担当者を置き換えます） |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるイシュー更新確認 |
| `metadata` | object | 更新されたイシューのメタデータ |

### `github_list_issues`

GitHubリポジトリのイシューを一覧表示します。注意：プルリクエストはGitHubではイシューとみなされるため、PRも含まれます

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリオーナー |
| `repo` | string | はい | リポジトリ名 |
| `state` | string | いいえ | 状態でフィルタリング：open、closed、またはall（デフォルト：open） |
| `assignee` | string | いいえ | 担当者のユーザー名でフィルタリング |
| `creator` | string | いいえ | 作成者のユーザー名でフィルタリング |
| `labels` | string | いいえ | フィルタリングするラベル名のカンマ区切りリスト |
| `sort` | string | いいえ | 並べ替え：created、updated、またはcomments（デフォルト：created） |
| `direction` | string | いいえ | 並べ替え方向：ascまたはdesc（デフォルト：desc） |
| `per_page` | number | いいえ | ページあたりの結果数（最大100、デフォルト：30） |
| `page` | number | いいえ | ページ番号（デフォルト：1） |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるイシューのリスト |
| `metadata` | object | イシューリストのメタデータ |

### `github_get_issue`

GitHubリポジトリの特定のイシューに関する詳細情報を取得する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `issue_number` | number | はい | イシュー番号 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるイシューの詳細 |
| `metadata` | object | 詳細なイシューのメタデータ |

### `github_close_issue`

GitHubリポジトリのイシューをクローズする

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `issue_number` | number | はい | イシュー番号 |
| `state_reason` | string | いいえ | クローズの理由：completed（完了）またはnot_planned（予定なし） |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるイシュークローズの確認 |
| `metadata` | object | クローズされたイシューのメタデータ |

### `github_add_labels`

GitHubリポジトリのイシューにラベルを追加する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `issue_number` | number | はい | イシュー番号 |
| `labels` | string | はい | イシューに追加するラベル名のカンマ区切りリスト |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるラベル確認 |
| `metadata` | object | ラベルのメタデータ |

### `github_remove_label`

GitHubリポジトリのイシューからラベルを削除する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー |
| `repo` | string | はい | リポジトリ名 |
| `issue_number` | number | はい | イシュー番号 |
| `name` | string | はい | 削除するラベル名 |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるラベル削除確認 |
| `metadata` | object | 残りのラベルのメタデータ |

### `github_add_assignees`

GitHubリポジトリのイシューに担当者を追加する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリオーナー |
| `repo` | string | はい | リポジトリ名 |
| `issue_number` | number | はい | 課題番号 |
| `assignees` | string | はい | 課題に割り当てるユーザー名のカンマ区切りリスト |
| `apiKey` | string | はい | GitHub APIトークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読める担当者確認 |
| `metadata` | object | 担当者が更新された課題のメタデータ |

### `github_create_release`

GitHubリポジトリの新しいリリースを作成します。タグ名、ターゲットコミット、タイトル、説明、ドラフトまたはプレリリースにするかどうかを指定します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `tag_name` | string | はい | このリリースのタグ名 |
| `target_commitish` | string | いいえ | Gitタグが作成される場所を決定するコミット値を指定します。任意のブランチまたはコミットSHAを指定できます。デフォルトはリポジトリのデフォルトブランチです。 |
| `name` | string | いいえ | リリースの名前 |
| `body` | string | いいえ | リリースの内容を説明するテキスト（マークダウン対応） |
| `draft` | boolean | いいえ | ドラフト（未公開）リリースを作成する場合はtrue、公開リリースを作成する場合はfalse |
| `prerelease` | boolean | いいえ | プレリリースとして識別する場合はtrue、正式リリースとして識別する場合はfalse |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるリリース作成の概要 |
| `metadata` | object | ダウンロードURLを含むリリースのメタデータ |

### `github_update_release`

既存のGitHubリリースを更新します。タグ名、ターゲットコミット、タイトル、説明、ドラフトステータス、またはプレリリースステータスを変更できます。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `release_id` | number | はい | リリースの一意の識別子 |
| `tag_name` | string | いいえ | タグの名前 |
| `target_commitish` | string | いいえ | タグが作成される元となるコミットを指定する値 |
| `name` | string | いいえ | リリースの名前 |
| `body` | string | いいえ | リリースの内容を説明するテキスト（マークダウン対応） |
| `draft` | boolean | いいえ | ドラフトとして設定する場合はtrue、公開する場合はfalse |
| `prerelease` | boolean | いいえ | プレリリースとして識別する場合はtrue、正式リリースの場合はfalse |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるリリース更新の概要 |
| `metadata` | object | ダウンロードURLを含む更新されたリリースのメタデータ |

### `github_list_releases`

GitHubリポジトリのすべてのリリースを一覧表示します。タグ、名前、ダウンロードURLを含むリリース情報を返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `per_page` | number | いいえ | 1ページあたりの結果数（最大100） |
| `page` | number | いいえ | 取得する結果のページ番号 |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 要約付きの人間が読めるリリース一覧 |
| `metadata` | object | リリースのメタデータ |

### `github_get_release`

IDで特定のGitHubリリースに関する詳細情報を取得します。アセットとダウンロードURLを含むリリースメタデータを返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `release_id` | number | はい | リリースの一意識別子 |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるリリースの詳細 |
| `metadata` | object | ダウンロードURLを含むリリースメタデータ |

### `github_delete_release`

IDによってGitHubリリースを削除します。これによりリリースは完全に削除されますが、関連するGitタグは削除されません。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `release_id` | number | はい | 削除するリリースの一意の識別子 |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読める削除確認 |
| `metadata` | object | 削除結果のメタデータ |

### `github_list_workflows`

GitHubリポジトリ内のすべてのワークフローを一覧表示します。ID、名前、パス、状態、バッジURLなどのワークフロー詳細を返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `per_page` | number | いいえ | ページあたりの結果数（デフォルト：30、最大：100） |
| `page` | number | いいえ | 取得する結果のページ番号（デフォルト：1） |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるワークフロー概要 |
| `metadata` | object | ワークフローのメタデータ |

### `github_get_workflow`

IDまたはファイル名で特定のGitHub Actionsワークフローの詳細を取得します。名前、パス、状態、バッジURLなどのワークフロー情報を返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `workflow_id` | string | はい | ワークフローID（数字）またはワークフローファイル名（例："main.yaml"） |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるワークフロー詳細 |
| `metadata` | object | ワークフローのメタデータ |

### `github_trigger_workflow`

GitHub Actionsワークフローのワークフローディスパッチイベントをトリガーします。ワークフローにはworkflow_dispatchトリガーが設定されている必要があります。成功すると204 No Contentを返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `workflow_id` | string | はい | ワークフローID（数字）またはワークフローファイル名（例："main.yaml"） |
| `ref` | string | はい | ワークフローを実行するGitリファレンス（ブランチまたはタグ名） |
| `inputs` | object | いいえ | ワークフローファイルで設定された入力キーと値 |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 確認メッセージ |
| `metadata` | object | 空のメタデータオブジェクト（204 No Contentレスポンス） |

### `github_list_workflow_runs`

リポジトリのワークフローの実行一覧を取得します。実行者、ブランチ、イベント、ステータスによるフィルタリングをサポートしています。ステータス、結果、リンクなどの実行詳細を返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリのオーナー（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `actor` | string | いいえ | ワークフローをトリガーしたユーザーでフィルタリング |
| `branch` | string | いいえ | ブランチ名でフィルタリング |
| `event` | string | いいえ | イベントタイプでフィルタリング（例：push、pull_request、workflow_dispatch） |
| `status` | string | いいえ | ステータスでフィルタリング（queued、in_progress、completed、waiting、requested、pending） |
| `per_page` | number | いいえ | 1ページあたりの結果数（デフォルト：30、最大：100） |
| `page` | number | いいえ | 取得する結果のページ番号（デフォルト：1） |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるワークフロー実行の概要 |
| `metadata` | object | ワークフロー実行のメタデータ |

### `github_get_workflow_run`

IDで特定のワークフロー実行に関する詳細情報を取得します。ステータス、結論、タイミング、実行へのリンクを返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `run_id` | number | はい | ワークフロー実行ID |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるワークフロー実行の詳細 |
| `metadata` | object | ワークフロー実行のメタデータ |

### `github_cancel_workflow_run`

ワークフロー実行をキャンセルします。キャンセルが開始された場合は202 Acceptedを返し、実行がキャンセルできない場合（すでに完了している場合など）は409 Conflictを返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `run_id` | number | はい | キャンセルするワークフロー実行ID |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | キャンセル状態メッセージ |
| `metadata` | object | キャンセルのメタデータ |

### `github_rerun_workflow`

ワークフロー実行を再実行します。オプションで再実行時のデバッグログを有効にできます。成功すると201 Createdを返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner` | string | はい | リポジトリの所有者（ユーザーまたは組織） |
| `repo` | string | はい | リポジトリ名 |
| `run_id` | number | はい | 再実行するワークフロー実行ID |
| `enable_debug_logging` | boolean | いいえ | 再実行時のデバッグログを有効にする（デフォルト：false） |
| `apiKey` | string | はい | GitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 再実行確認メッセージ |
| `metadata` | object | 再実行メタデータ |

### `github_list_projects`

組織またはユーザーのGitHub Projects V2を一覧表示します。ID、タイトル、番号、URL、ステータスなどの詳細を含む最大20のプロジェクトを返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner_type` | string | はい | オーナータイプ：組織の場合は「org」、ユーザーの場合は「user」 |
| `owner_login` | string | はい | 組織またはユーザーのログイン名 |
| `apiKey` | string | はい | プロジェクト読み取り権限を持つGitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるプロジェクトリスト |
| `metadata` | object | プロジェクトのメタデータ |

### `github_get_project`

番号で特定のGitHub Project V2の詳細情報を取得します。ID、タイトル、説明、URL、ステータスなどのプロジェクト詳細を返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner_type` | string | はい | オーナータイプ：組織の場合は「org」、ユーザーの場合は「user」 |
| `owner_login` | string | はい | 組織またはユーザーのログイン名 |
| `project_number` | number | はい | プロジェクト番号 |
| `apiKey` | string | はい | プロジェクト読み取り権限を持つGitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読めるプロジェクトの詳細 |
| `metadata` | object | プロジェクトのメタデータ |

### `github_create_project`

GitHub Project V2を新規作成します。オーナーのノードID（ログイン名ではない）が必要です。作成されたプロジェクトのID、タイトル、URLを返します。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `owner_id` | string | はい | オーナーのノードID（形式：PVT_... または MDQ6...）。組織またはユーザーログインからこのIDを取得するには、GitHub GraphQL APIを使用してください。 |
| `title` | string | はい | プロジェクトのタイトル |
| `apiKey` | string | はい | プロジェクト書き込み権限を持つGitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読める確認メッセージ |
| `metadata` | object | 作成されたプロジェクトのメタデータ |

### `github_update_project`

既存のGitHub Project V2を更新します。タイトル、説明、可視性（公開）、またはステータス（クローズ）を更新できます。プロジェクトのノードIDが必要です。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `project_id` | string | はい | プロジェクトのノードID（形式：PVT_...） |
| `title` | string | いいえ | 新しいプロジェクトのタイトル |
| `shortDescription` | string | いいえ | 新しいプロジェクトの短い説明 |
| `project_public` | boolean | いいえ | プロジェクトの可視性を設定（true = 公開、false = 非公開） |
| `closed` | boolean | いいえ | プロジェクトのステータスを設定（true = クローズ、false = オープン） |
| `apiKey` | string | はい | プロジェクト書き込み権限を持つGitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読める確認メッセージ |
| `metadata` | object | 更新されたプロジェクトのメタデータ |

### `github_delete_project`

GitHub Project V2を削除します。このアクションは永続的であり、元に戻すことはできません。プロジェクトのNode IDが必要です。

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `project_id` | string | はい | プロジェクトNode ID（形式：PVT_...） |
| `apiKey` | string | はい | プロジェクト管理権限を持つGitHub個人アクセストークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | 人間が読める確認メッセージ |
| `metadata` | object | 削除されたプロジェクトのメタデータ |

## 注意事項

- カテゴリ: `tools`
- タイプ: `github`
