第1章 GitHub リポジトリーの検出を有効にする


GitHub リポジトリーを自動的に検出して取り込むように Developer Hub を設定することを検討してください。リポジトリーに catalog-info.yaml ファイルが含まれている場合、Developer Hub はリポジトリーをコンポーネントとしてカタログに取り込みます。

前提条件

手順

  1. Developer Hub が GitHub API にアクセスできるようにするには、GitHub アプリケーションを作成します。きめ細かな権限を使用し、アプリケーションがアクセスできるリポジトリーをより細かく制御して、有効期間の短いトークンを使用するには、OAuth アプリケーションではなく GitHub アプリケーションを選択します。

    1. 次の設定で GitHub アプリケーションを登録します

      GitHub App 名
      GitHub アプリケーションを識別する一意の名前 (例: integrating-with-rhdh-<GUID>) を入力します。
      Homepage URL
      Developer Hub の URL を入力します (https://<my_developer_hub_domain>)。
      認可コールバック URL
      Developer Hub の認証バックエンド URL を入力します (https://<my_developer_hub_domain>/api/auth/github/handler/frame)
      Webhook
      認証およびカタログプロバイダーには必要ないため、"Active" をクリアします。
      アプリケーションの権限

      アプリケーションのアクセスレベルを定義するには、権限を選択します。ニーズに合わせて権限を調整します。

      ソフトウェアコンポーネントの読み取り
      内容
      Read-only
      コミットステータス
      Read-only
      組織データの読み取り
      メンバー
      Read-only
      ソフトウェアテンプレートの公開

      ソフトウェアテンプレートに同じ GitHub アプリケーションを使用する場合は、権限を設定します。

      管理
      Read & write (リポジトリーの作成用)
      内容
      Read & write
      メタデータ
      Read-only
      プルリクエスト
      Read & write
      Issues
      Read & write
      ワークフロー
      Read & write (テンプレートに GitHub ワークフローが含まれている場合)
      Variables
      Read & write (テンプレートに GitHub Action リポジトリー変数が含まれている場合)
      シークレット
      Read & write (テンプレートに GitHub Action リポジトリーシークレットが含まれている場合)
      環境
      Read & write (テンプレートに GitHub 環境が含まれている場合)
      組織の権限
      メンバー
      Read-only
      この GitHub App はどこにインストールできますか?
      Only on this account を選択します。
    2. General Clients secrets セクションで、Generate a new client secret をクリックします。
    3. General Private keys セクションで、Generate a private key をクリックします。
    4. Install App タブで、GitHub アプリケーションをインストールするアカウントを選択します。
    5. 次のステップのために以下の値を保存します。

      • アプリケーション ID
      • クライアント ID
      • クライアントシークレット
      • 秘密鍵
  2. GitHub 認証情報を Developer Hub に追加するには、以下のキーと値のペアを Developer Hub シークレット に追加します。それぞれの環境変数名を使用することで、Developer Hub 設定ファイルでこれらのシークレットを使用できます。

    GITHUB_INTEGRATION_APP_ID
    保存した アプリケーション ID を入力します。
    GITHUB_INTEGRATION_CLIENT_ID
    保存した クライアント ID を入力します。
    GITHUB_INTEGRATION_CLIENT_SECRET
    保存した クライアントシークレット を入力します。
    GITHUB_INTEGRATION_HOST_DOMAIN
    GitHub ホストドメインを入力します (github.com)。
    GITHUB_INTEGRATION_ORGANIZATION
    '<your_github_organization_name>' などの GitHub 組織名を入力します。
    GITHUB_INTEGRATION_PRIVATE_KEY_FILE
    保存した 秘密鍵 を入力します。
  3. dynamic-plugins.yaml ファイルで plugin-catalog-backend-module-github プラグインを有効にします。

    このプラグインは、GitHub 組織内のリポジトリーをスキャンして catalog-info.yaml ファイルを検索し、カタログエンティティーを検出します。これは、catalog.locations を介してコンポーネントを手動で登録する代わりに、自動化された代替手段を提供します。リポジトリーに catalog-info.yaml ファイルが含まれている場合、エンティティーはコンポーネントとしてカタログに取り込まれます。

    dynamic-plugins.yaml ファイルのフラグメント

    plugins:
      - package: './dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github'
        disabled: false

  4. カスタム Developer Hub app-config.yaml 設定ファイルに catalog.providers.github および integrations.github セクションを追加して、GitHub 統合を設定します。

    GitHub 統合を有効にするための必須フィールドを含む app-config.yaml ファイルフラグメント

    catalog:
      providers:
        github:
          providerId:
            organization: "${GITHUB_INTEGRATION_ORGANIZATION}"
            schedule:
              frequency:
                minutes: 30
              initialDelay:
                seconds: 15
              timeout:
                minutes: 15
    integrations:
      github:
        - host: ${GITHUB_INTEGRATION_HOST_DOMAIN}
          apps:
            - appId: ${GITHUB_INTEGRATION_APP_ID}
              clientId: ${GITHUB_INTEGRATION_CLIENT_ID}
              clientSecret: ${GITHUB_INTEGRATION_CLIENT_SECRET}
              privateKey: |
                ${GITHUB_INTEGRATION_PRIVATE_KEY_FILE}

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る