> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Github

> Github タスクの自動化

## 概要

Github ツールを使用すると、リポジトリ、Issue、リリース、Actions ワークフローに関するさまざまなタスクを自動化できます。

## 主な機能

* `GITHUB_LIST_REPOSITORY_ISSUES`
  * 指定したリポジトリ内の Issue を一覧表示
* `GITHUB_CREATE_AN_ISSUE`
  * 指定したリポジトリに新しい Issue を作成
* `GITHUB_LIST_RELEASES`
  * リポジトリのリリース一覧を取得（タグ名、リリースノート、作成者情報、アセット URL を含む）
* `GITHUB_ACTIONS_RUN`
  * GitHub Actions のワークフローを `workflow_dispatch` でトリガーし、完了まで待機して実行結果とアーティファクトを返す

## 認証

詳細については[こちらをクリック](/ja/pages/credentials/github)してください。

Github アカウントで、**Settings** > **Developer settings** > **Personal access tokens** に移動し、新しいトークンを生成してください。必要なスコープ（例：プライベートリポジトリの完全操作には `repo`）を付与する必要があります。

**注意**：API キーは機密情報として扱い、公開リポジトリにコミットしないでください。

### 例：Issue の一覧取得と作成

```yaml theme={null}
- name: List repository issues
  id: list_repository_issues
  tool: GITHUB_LIST_REPOSITORY_ISSUES
  config:
    - name: token
      value: "{{secrets.GITHUB_TOKEN}}"
  input:
    - name: owner
      value: nyuta01
    - name: repository
      value: cube-sl-demo
- name: Create an issue
  id: create_an_issue
  tool: GITHUB_CREATE_AN_ISSUE
  config:
    - name: token
      value: "{{secrets.GITHUB_TOKEN}}"
  input:
    - name: owner
      value: nyuta01
    - name: repository
      value: cube-sl-demo
    - name: title
      value: Test issue
    - name: body
      value: This is a test issue
- name: List releases
  id: list_releases
  tool: GITHUB_LIST_RELEASES
  config:
    - name: token
      value: "{{secrets.GITHUB_TOKEN}}"
  input:
    - name: owner
      value: nyuta01
    - name: repository
      value: cube-sl-demo
    - name: per_page
      value: 10
```

### 例：GitHub Actions ワークフローの実行

`GITHUB_ACTIONS_RUN` は、config の `auth_type` で Personal Access Token（`pat_token`）または GitHub App の認証情報（`github_app`）のどちらかを選択して認証します。

```yaml theme={null}
- name: Run workflow
  id: run_workflow
  tool: GITHUB_ACTIONS_RUN
  config:
    - name: auth_type
      value: pat_token
    - name: pat_token
      value: "{{secrets.GITHUB_TOKEN}}"
  input:
    - name: owner
      value: nyuta01
    - name: repository
      value: cube-sl-demo
    - name: workflow
      value: ci.yml
    - name: ref
      value: main
    - name: inputs
      value: '{"environment": "staging"}'
    - name: wait_timeout_seconds
      value: 1200
```
