Skip to main content

このバージョンの GitHub Enterprise サーバーはこの日付をもって終了となりました: 2024-03-26. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise サーバーにアップグレードしてください。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

GitHub REST API のクイックスタート

GitHub REST API の使用を開始する方法について説明します。

はじめに

この記事では、GitHub CLI、curl、または JavaScript を使用して、GitHub REST API の使用をすばやく開始する方法について説明します。 さらに詳しいガイドについては、「REST API を使用した作業の開始」をご覧ください。

コマンド ラインでの GitHub CLI の使用

GitHub CLI は、コマンド ラインから GitHub REST API を使用する方法として最も簡単です。

  1. macOS、Windows、または Linux に GitHub CLI をインストールします。 詳細については、GitHub CLI リポジトリ内でのインストールを参照してください。

  2. ターミナルからこのコマンドを実行して、GitHub で認証します。HOSTNAME は お使いの GitHub Enterprise Server インスタンス の名前に置き換えます。 たとえば、octo-inc.ghe.com です。

    gh auth login --hostname HOSTNAME
    
  3. 画面の指示に従います。

    GitHub CLI は、Git 操作の優先プロトコルとして HTTPS を選択すると自動的に Git 資格情報を格納し、GitHub 資格情報で Git に対して認証するかどうかを尋ねるプロンプトに対して "はい" と答えます。 これは、別の資格情報マネージャーを設定したり、SSH を使用したりすることなく、git pushgit pull などの Git コマンドを使用できるので便利です。

  4. GitHub CLI api サブコマンドにパスを続けて使用して要求を行います。 メソッドを指定するには、--method または -X フラグを使用します。 詳しくは、GitHub CLIapi のドキュメントを参照してください。

    この例では、メソッド GET とパス /octocat を使用する "Get Octocat" エンドポイントに要求を行います。 このエンドポイントの完全なリファレンス ドキュメントについては、「メタデータ用 REST API エンドポイント」をご覧ください。

    Shell
    gh api /octocat --method GET
    

GitHub Actions での GitHub CLI の使用

GitHub Actions ワークフローでは、GitHub CLI を使用することもできます。 詳しくは、「ワークフローで GitHub CLI を使用する」を参照してください。

アクセス トークンを使用した認証

gh auth login コマンドを使用するのでなく、アクセス トークンを GH_TOKEN という環境変数として渡します。 GitHub では、トークンを作成するのでなく組み込みの GITHUB_TOKEN を使用することをお勧めしています。 これができない場合は、ご利用のトークンをシークレットとして格納し、次の例で GITHUB_TOKEN を実際のシークレットの名前に置き換えます。 GITHUB_TOKEN について詳しくは、「自動トークン認証」をご覧ください。 シークレットについて詳しくは、「GitHub Actions でのシークレットの使用」をご覧ください。

次のワークフロー例では、"リポジトリの issue の一覧表示" エンドポイントを使用し、指定したリポジトリ内の issue の一覧を要求します。HOSTNAME は お使いの GitHub Enterprise Server インスタンス の名前に置き換えます。 REPO-OWNER をリポジトリを所有するアカウントの名前に置き換えます。 REPO-NAME をリポジトリ所有者の名前に置き換えます。

YAML
on:
  workflow_dispatch:
jobs:
  use_api:
    runs-on: ubuntu-latest
    permissions:
      issues: read
    steps:
      - env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh api http(s)://HOSTNAME/api/v3/repos/REPO-OWNER/REPO-NAME/issues

GitHub App による認証

GitHub App を使用して認証する場合は、ワークフロー内にインストール アクセス トークンを作成します。

  1. GitHub App の ID を構成変数として保存します。 以下の例で、APP_ID を構成変数の名前に置き換えます。 アプリ ID は、アプリの設定ページで、あるいは API を通じて確認できます。 詳しくは、「GitHub Apps用 REST API エンドポイント」を参照してください。 構成オプションの詳細については「変数」を参照してください。

  2. アプリケーションの秘密鍵を生成してください。 作成されたファイルの内容をシークレットとして保存します。 (-----BEGIN RSA PRIVATE KEY----- および -----END RSA PRIVATE KEY----- を含め、ファイルの内容全体を保存します)。以下の例では、APP_PEM をシークレットの名前に置き換えます。 詳しくは、「GitHub Apps の秘密キーの管理」を参照してください。 シークレットについて詳しくは、「GitHub Actions でのシークレットの使用」をご覧ください。

  3. トークンを生成するステップを追加し、GITHUB_TOKEN ではなくそのトークンを使用します。 このトークンは 60 分後に期限切れになるので注意してください。 例:

    YAML
    
    # このワークフローはGitHubによって認定されていないアクションを使用します。
    # それらはサードパーティによって提供され、
    # 別個の利用規約、プライバシーポリシー、
    # ドキュメントを参照してください。
    
    # GitHub では、コミット SHA にアクションをピン留めすることが推奨されます。
    # 新しいバージョンを取得するには、SHA を更新する必要があります。
    # タグまたはブランチを参照することもできますが、アクションは警告なしに変更される可能性があります。
    
    on:
      workflow_dispatch:
    jobs:
      track_pr:
        runs-on: ubuntu-latest
        steps:
          - name: Generate token
            id: generate-token
            uses: tibdex/github-app-token@32691ba7c9e7063bd457bd8f2a5703138591fa58 # v1.9.0
            with:
              app_id: ${{ vars.APP_ID }}
              private_key: ${{ secrets.APP_PEM }}
          - name: Use API
            env:
              GH_TOKEN: ${{ steps.generate-token.outputs.token }}
            run: |
              gh api http(s)://HOSTNAME/api/v3/repos/REPO-OWNER/REPO-NAME/issues
    

次の手順

詳しいガイドについては、「REST API を使用した作業の開始」をご覧ください。

アクティブ化するには Alt キーを押しながら↑キーを押します