Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

付録 A: GitHub (OAuth アプリ経由) ソースアクション

フォーカスモード
付録 A: GitHub (OAuth アプリ経由) ソースアクション - AWS CodePipeline

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

この付録では、CodePipeline の GitHub アクションの (OAuth アプリ経由) に関する情報を提供します。

注記

GitHub (OAuth アプリ経由) アクションを使用することはお勧めしませんが、GitHub (OAuth アプリ経由) アクションを使用する既存のパイプラインは引き続き機能します。GitHub (OAuth アプリ経由) アクションを使用するパイプラインの場合、CodePipeline は OAuth ベースのトークンを使用して GitHub リポジトリに接続します。対照的に、GitHub アクション (GitHub App 経由) は、接続リソースを使用して GitHub リポジトリに AWS リソースを関連付けます。接続リソースは、アプリベースのトークンを使用して接続します。接続を使用する推奨される GitHub アクションにパイプラインを更新する方法の詳細については GitHub (OAuth アプリ経由) ソースアクションを GitHub (GitHub アプリ経由) ソースアクションに更新する を参照してください。アプリベースの GitHub アクセスとは対照的な OAuth ベースの GitHub アクセスの詳細については、https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps を参照してください。

GitHub と統合するために、CodePipeline はパイプライン用の OAuth アプリケーションを作成します。CodePipeline はウェブフックを使用して、GitHub (OAuth アプリ経由) ソースアクションを使用してパイプラインの変更検出を管理します。

注記

で GitHub (GitHub App 経由) ソースアクションを設定する場合 AWS CloudFormation、GitHub トークン情報を含めたり、ウェブフックリソースを追加したりすることはありません。「ユーザーガイド」の「AWS::CodeStarConnections::Connection」に示すように、接続リソースを設定します AWS CloudFormation 。

このリファレンスには、GitHub (OAuth アプリ経由) アクションに関する以下のセクションが含まれています。

重要

CodePipeline ウェブフックを作成するときは、独自の認証情報を使用したり、複数のウェブフック間で同じシークレットトークンを再利用したりしないでください。セキュリティを最適化するには、作成するウェブフックごとに一意のシークレットトークンを生成します。シークレットトークンは、ユーザーが指定する任意の文字列で、ウェブフックペイロードの整合性と信頼性を保護するために、CodePipeline に送信するウェブフックペイロードを GitHub で計算して署名するために使用します。独自の認証情報を使用したり、複数のウェブフック間で同じトークンを再利用したりすると、セキュリティの脆弱性につながる可能性があります。

注記

シークレットトークンを指定していた場合は、レスポンスで編集されます。

GitHub (OAuth アプリ経由) ソースアクションの追加

GitHub (OAuth アプリ経由) ソースアクションを CodePipeline に追加するには、以下を実行します。

  • CodePipeline コンソール パイプラインの作成 ウィザード (カスタムパイプラインを作成する (コンソール)) または「アクションを編集」ページを使用し、GitHub プロバイダーオプションを選択します。コンソールは、ソースが変更されたときにパイプラインを開始するウェブフックを作成します。

  • CLI を使用して、GitHub アクションのアクション設定を追加し、次のようにリソースを追加作成します。

    • GitHub でのアクション設定の例を GitHub (OAuth アプリ経由) ソースアクションリファレンス で使用し、パイプラインを作成する (CLI) で表示されるようなアクションを作成します。

    • 定期的にチェックを無効にし、変更検出を手動で作成します。これは、変更検出方法によりソースをポーリングすることでパイプラインが開始されるためです。ポーリングパイプラインを GitHub (OAuth アプリ経由) アクションのウェブフックに移行します。

GitHub (OAuth アプリ経由) ソースアクションリファレンス

注記

GitHub (OAuth アプリ経由) アクションを使用することはお勧めしませんが、GitHub (OAuth アプリ経由) アクションを使用する既存のパイプラインは引き続き機能します。GitHub GitHub (OAuth アプリ経由) ソースアクションを使用するパイプラインの場合、CodePipeline は OAuth ベースのトークンを使用して GitHub リポジトリに接続します。対照的に、新しい GitHub アクション (GitHub App 経由) は、接続リソースを使用して GitHub リポジトリに AWS リソースを関連付けます。接続リソースは、アプリベースのトークンを使用して接続します。推奨される GitHub アクションを使用した接続でパイプラインを更新する方法の詳細については「GitHub (OAuth アプリ経由) ソースアクションを GitHub (GitHub アプリ経由) ソースアクションに更新する」 を参照してください。

設定された GitHub リポジトリとブランチで新しいコミットが行われたときに、パイプラインをトリガーします。

GitHub と統合するため、CodePipeline はパイプラインの OAuth アプリケーションまたは個人用アクセストークンを使用します。コンソールを使用してパイプラインを作成または編集する場合、CodePipeline は GitHub Webhook を作成し、リポジトリに変更が生じた場合に、パイプラインを開始するようにします。

GitHub アクションを介してパイプラインを接続する前に、GitHub アカウントとリポジトリを作成しておく必要があります。

CodePipeline のリポジトリへのアクセスを制限する場合は、GitHub アカウントを作成し、CodePipeline と統合するリポジトリのみにアカウントのアクセス許可を付与します。CodePipeline を設定する際は、そのアカウントを使用し、パイプラインのソースステージの GitHub リポジトリを使用します。

詳細については、GitHub ウェブサイトの GitHub 開発者向けドキュメントを参照してください。

アクションタイプ

  • カテゴリ:Source

  • 所有者: ThirdParty

  • プロバイダー: GitHub

  • バージョン: 1

設定パラメータ

所有者

必須: はい

GitHub リポジトリを所有する GitHub ユーザーまたは組織の名前。

Repo

必須: はい

ソースの変更が検出されるリポジトリの名前。

ブランチ

必須: はい

ソースの変更が検出されるブランチの名前。

OAuthToken

必須: はい

GitHub リポジトリで CodePipeline が操作を実行できるようにするための GitHub 認証トークンを表します。エントリは、常に 4 つのアスタリスクでマスクされた状態で表示されます。これは、次のいずれかの値を表します。

  • コンソールを使用してパイプラインを作成すると、CodePipeline は、OAuth トークンを使用して GitHub 接続を登録します。

  • を使用してパイプライン AWS CLI を作成する場合、このフィールドで GitHub 個人用アクセストークンを渡すことができます。アスタリスク (****) を GitHub からコピーした個人用アクセストークンに置き換えます。get-pipeline を実行してアクション設定を表示すると、この値の 4 つのアスタリスクマスクが表示されます。

  • AWS CloudFormation テンプレートを使用してパイプラインを作成する場合は、まずトークンをシークレットとして に保存する必要があります AWS Secrets Manager。このフィールドの値は、{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}} など Secrets Manager に保存されたシークレットへの動的リファレンスとして含めます。

GitHub のスコープに関する詳細については、GitHub ウェブサイトの「GitHub 開発者 API リファレンス」を参照してください。

PollForSourceChanges

必須: いいえ

PollForSourceChanges は、 CodePipeline が GitHub リポジトリをポーリングしてソースを変更するかどうかを制御します。この方法の代わりに、ウェブフックを使用してソースの変更を検出することをお勧めします。ウェブフックの設定に関する詳細は、「ポーリングパイプラインをウェブフックに移行する (GitHub (OAuth アプリ経由) ソースアクション) (CLI)」または「プッシュイベントのパイプラインを更新する (GitHub (OAuth アプリ経由) ソースアクション) (AWS CloudFormation テンプレート)」を参照してください。

重要

ウェブフックを設定する場合、パイプライン実行の重複を避けるため、PollForSourceChangesfalse に設定します。

このパラメータの有効な値:

  • True: 設定されている場合、CodePipeline はソースの変更についてポーリングします。

    注記

    PollForSourceChanges を省略すると、CodePipeline はデフォルトでソースの変更についてポーリングします。この動作は、PollForSourceChangestrue に設定されている場合と同じです。

  • False: 設定されている場合、CodePipeline は、ソースの変更についてリポジトリをポーリングしません。ソースの変更を検出するようにウェブフックを構成する場合は、この設定を使用します。

入力アーティファクト

  • アーティファクトの数: 0

  • 説明: 入力アーティファクトは、このアクションタイプには適用されません。

出力アーティファクト

  • アーティファクトの数: 1

  • 説明: このアクションの出力アーティファクトは、パイプライン実行のソースリビジョンとして指定されたコミットで設定されたリポジトリとブランチの内容を含む ZIP ファイルです。リポジトリから生成されたアーティファクトは、GitHub アクションの出力アーティファクトです。ソースコードのコミット ID は、パイプライン実行のトリガーとなるソースリビジョンとして、CodePipeline に表示されます。

出力変数

このアクションを設定すると、パイプライン内のダウンストリームアクションのアクション設定によって参照できる変数が生成されます。このアクションは、アクションに名前空間がない場合でも、出力変数として表示できる変数を生成します。名前空間を使用してアクションを設定し、これらの変数をダウンストリームアクションの設定で使用できるようにします。

CodePipeline の変数についての詳細は、「変数リファレンス」を参照してください。

CommitId

パイプライン実行をトリガーした GitHub コミット ID。コミット ID は、コミットの完全な SHA です。

CommitMessage

パイプライン実行をトリガーしたコミットに関連付けられた説明メッセージ (存在する場合)。

CommitUrl

パイプラインをトリガーしたコミットの URL アドレス。

RepositoryName

パイプラインをトリガーしたコミットが実行された GitHub リポジトリの名前。

BranchName

ソースの変更が行われた GitHub リポジトリのブランチの名前。

AuthorDate

コミットが認証された日付 (タイムスタンプ形式)。

CommitterDate

コミットがコミットされた日付 (タイムスタンプ形式)。

アクションの宣言 (GitHub の例)

YAML
Name: Source Actions: - InputArtifacts: [] ActionTypeId: Version: '1' Owner: ThirdParty Category: Source Provider: GitHub OutputArtifacts: - Name: SourceArtifact RunOrder: 1 Configuration: Owner: MyGitHubAccountName Repo: MyGitHubRepositoryName PollForSourceChanges: 'false' Branch: main OAuthToken: '{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}' Name: ApplicationSource
JSON
{ "Name": "Source", "Actions": [ { "InputArtifacts": [], "ActionTypeId": { "Version": "1", "Owner": "ThirdParty", "Category": "Source", "Provider": "GitHub" }, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "RunOrder": 1, "Configuration": { "Owner": "MyGitHubAccountName", "Repo": "MyGitHubRepositoryName", "PollForSourceChanges": "false", "Branch": "main", "OAuthToken": "{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}" }, "Name": "ApplicationSource" } ] },
Name: Source Actions: - InputArtifacts: [] ActionTypeId: Version: '1' Owner: ThirdParty Category: Source Provider: GitHub OutputArtifacts: - Name: SourceArtifact RunOrder: 1 Configuration: Owner: MyGitHubAccountName Repo: MyGitHubRepositoryName PollForSourceChanges: 'false' Branch: main OAuthToken: '{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}' Name: ApplicationSource

GitHub (OAuth) への接続

初めて GitHub リポジトリをパイプラインに追加するコンソールを使用する場合、CodePipeline のリポジトリへのアクセスを承認するように要求されます。トークンには、次の GitHub スコープが必要です。

  • repo スコープ。これは、パブリックおよびプライベートリポジトリからパイプラインにアーティファクトを読み込んでプルする完全制御に使用されます。

  • admin:repo_hook スコープ。これは、リポジトリフックの完全制御に使用されます。

CLI または AWS CloudFormation テンプレートを使用する場合は、GitHub で既に作成した個人用アクセストークンの値を指定する必要があります。

このアクションを利用する際に役立つ関連リソースは以下の通りです。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.