GitHub アプリの OAuth 2.0 認証情報 - 認証コード

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:6分
  • 認証コードを使用して GitHub アプリを統合するには、次の手順を実行します。

    事前準備

    必要なロール:
    • oauth_admin DevOps チェンジベロシティ
    • GitHub のアドミンアカウント。
    注:
    ユーザーレベルのリポジトリのみがサポートされています。認証コードを使用してDevOps チェンジベロシティで構成するすべてのGitHubリポジトリにアクセスできる必要があります。
    注:
    GitHub Enterprise Server (オンプレミスインスタンス) の場合、MID サーバーを使用して接続している場合、OAuth はサポートされません。

    GitHub アカウントで GitHub アプリを構成する (認証コード)

    GitHub アカウントからカスタム GitHub アプリを作成し、ServiceNow インスタンスで OAuth 2.0 認証を有効にします。

    始める前に

    GitHub 要件: GitHub と統合するように構成されたアプリ ServiceNow

    必要なロール:インスタンスロールは不要

    このタスクについて

    GitHub アカウントから、次の手順を完了します。「」を参照してください。 建物 GitHub アプリ カスタムアプリケーションの作成と構成の手順については、 GitHub 開発者サイトを参照してください。

    手順

    1. GitHub アカウントから、次の場所に移動して GitHub アプリを作成します 開発者設定 > GitHub アプリ.
    2. [ホームページ URL (Homepage URL)] フィールドに「https://<instance-name>.service-now.com」と入力します。
    3. [ユーザー認証コールバック URL (User authorization callback URL)] フィールドに、「https://<instance-name>.service-now.com/oauth_redirect.do」と入力します。
    4. [ユーザーの識別と認証 (Identifying and authorizing users)] セクションで、[ユーザー認証トークンの有効期限 (Expire user authorization tokens)] フィールドの選択を解除します。
    5. [ Webhook ] セクションで、[ アクティブ ] フィールドの選択を解除します。
    6. 残りのフィールドは空のままにします (デフォルト)。
    7. [ リポジトリのアクセス許可 ] セクションで、次の設定を構成します。
      アクション 読み込み専用
      チェック 読み込み専用
      コンテンツ 読み込み専用
      展開 読み取りと書き込み
      環境 読み込み専用
      メタデータ 読み込み専用
      プル要求 読み込み専用
      シークレット 読み込み専用
      Webhook 読み取りと書き込み
      注:
      ServiceNow から Webhook を構成するには、読み取りおよび書き込み権限が必要です。
    8. 残りの権限は [アクセスなし] (デフォルト) のままにします 。
    9. 新しく作成した GitHub アプリを選択したアカウントにインストールします。

    DevOps プロパティにクライアント ID を追加

    GitHub アプリを構成したら、クライアント ID プリフィックス (ID の最初の 3 文字以上) が DevOps プロパティに追加されていることを確認する必要があります: GitHub アプリのクライアント ID 指定子

    始める前に

    必要なロール:sn_devops.admin

    手順

    1. 移動先 ワークスペース > DevOps 変更ワークスペース > 管理 > システム構成 > プロパティ.
    2. アプリケーションスコープを DevOps データモデルに変更します。
    3. プロパティを検索します: GitHub アプリのクライアント ID 指定子 [sn_devops.github_oauth_client_id_specifier]。
    4. GitHub アプリのクライアント ID プレフィックス (ID の最初の 3 文字以上) をプロパティに入力します。
    5. [保存] を選択します。

    OAuth プロバイダー (認証コード) として GitHub を登録

    GitHub アプリアカウントの構成中に生成された情報を使用し、GitHub を OAuth プロバイダーとして登録して、インスタンスが OAuth 2.0 トークンを要求できるようにします。

    始める前に

    必要なロール:admin、sn_devops.admin

    手順

    1. 移動先 すべて > システム OAuth > アプリケーションレジストリ.
    2. [新規] をクリックします。
      どのような OAuth アプリケーションですか?」というメッセージが表示されます。
    3. [サードパーティ OAuth プロバイダーに接続します] を選択します。
      空欄のアプリケーション登録フォームが表示されます。
    4. フォームに入力します。
      フィールド 必要な値
      名前 レコードを一意に識別する名前を入力します。たとえば、「 My GitHub App Provider」と入力します。
      クライアント ID GitHub アプリのクライアント ID を入力します (ヒント:GitHubGitHub アプリ構成の [バージョン情報] セクションで利用可能です)。
      クライアントシークレット GitHub アプリのクライアントシークレットを入力します (ヒント:GitHubGitHub アプリ構成の [バージョン情報] セクションにあります)。
      OAuth API スクリプト [OAuthDevOpsGitHubHandler] を選択します。
      デフォルトの権限許可タイプ [認証コード] を選択します。
      認証 URL

      https://github.com/login/oauth/authorize を入力します。

      オンプレミス展開の場合は、適切な GitHub ホスト URL を使用します。

      トークン URL

      https://github.com/login/oauth/access_token を入力します。

      オンプレミス展開の場合は、適切な GitHub ホスト URL を使用します。

    5. フォームの残りのフィールドはデフォルトのままにします。
      アプリケーションレジストリフォーム
    6. フォームヘッダーを右クリックし、[保存] をクリックします。
      • OAuth認証情報が検証され、リダイレクトURLが入力されます(ヒント:GitHubアプリ構成で以前に指定したユーザー認証コールバックURLと一致する必要があります)。
      • OAuth エンティティプロファイル の [ 権限許可タイプ ] が [認証コード] として入力されます。たとえば、OAuth エンティティプロファイルは、デフォルトの名前My GitHub App Provider default_profile で作成されます

    GitHubアプリプロバイダー (認証コード) の認証情報レコードを作成します

    アクションを許可するために、以前に作成した GitHub アプリプロバイダーに認証情報レコードを作成します。

    始める前に

    必要なロール:admin、credential_admin

    手順

    1. 移動先 すべて > 接続 & 認証情報 > 認証情報.
    2. [新規] をクリックします。
      作成する認証情報のタイプは?」というメッセージが表示されます。
    3. [OAuth 2.0 認証情報] を選択します。
      ポップアップウィンドウに、空の OAuth 2.0 認証情報フォームが表示されます。
    4. 値を入力します。
      Field (フィールド) 必要な値
      名前 レコードを一意に識別する名前を入力します。たとえば、「 My GitHub App Credential」と入力します。
      アクティブ 有効化
      OAuth エンティティプロファイル 以前に作成したデフォルトの OAuth エンティティプロファイルを選択します。
      適用先 この認証情報を使用できる MID サーバーを選択します。たとえば、[すべての MID サーバー] を選択します。
      注:
      この認証情報を使用するには、MID サーバーを使用して GitHub ツールインスタンスに接続する必要があります。
      注文 この認証情報を適用する順番を選択します。たとえば、「100」と入力します。
    5. レコードを保存します。
    6. OAuth トークンを生成するには、[OAuth トークンを取得] 関連リンクをクリックします。