推奨シークレットについて
プロジェクトでユーザー固有のシークレットを設定する必要がある場合は、codespace の作成時に、これを行うようユーザーに求めることができます。 これを行うには、リポジトリの開発コンテナー構成ファイルに設定を追加します。
推奨シークレットを指定した後、ユーザーが Codespaces の個人用設定でそのシークレットをまだ作成していない場合は、codespace 作成の高度なオプションの方法を使うときに、シークレットの作成を求められます。 これを行うには、GitHub で [ コード] ボタンをクリックして [Codespaces] タブをクリックしたら、 を選択して [オプションを指定して新規作成] をクリックします。
ページの下部に推奨シークレットの一覧が表示されます。
Note
推奨シークレットの名前は、選択されているブランチのコンテナー構成でこれらのシークレットが指定されている場合にのみ、このページに一覧表示されます。
各推奨シークレットは、次の 3 つの方法のいずれかで表示されます。
- ユーザーが Codespaces の設定で推奨シークレットを設定していない場合は、入力ボックスが表示され、シークレットをその場で作成できます。 説明と詳細情報へのリンクを構成してある場合は、それらが表示されます。 値の入力は省略できます。
- ユーザーが推奨シークレットを既に作成していても、このリポジトリにそれを関連付けていない場合は、チェック ボックスをオンにしてこの関連付けを追加できます。 これは省略できます。
- ユーザーが既に推奨シークレットを作成し、それをこのリポジトリに関連付けている場合は、表示されるチェック ボックスはあらかじめオンになっています。
プロジェクトに推奨シークレットを指定すべきとき
リポジトリまたは Organization の所有者ではなく、codespace を作成するユーザーが提供する必要がある開発環境シークレットに、推奨シークレットを使う必要があります。 たとえば、パブリック プロジェクトがあり、ユーザーがそのプロジェクトでアプリケーションを実行するために個人 API キーを指定する必要がある場合は、codespace を作成するために高度なオプション ページを使用するユーザーに、シークレットの値としてキーの指定を求めるよう、推奨シークレットを指定できます。
または、リポジトリまたは Organization の所有者が提供できる開発環境シークレット (チーム全体で共有される API キーなど) の場合は、リポジトリまたは Organization のレベルでシークレットを設定できます。 詳しくは、「リポジトリまたは Organization の開発環境シークレットの管理」を参照してください。
開発コンテナーの構成で推奨シークレットを指定する
-
リポジトリに作成された codespace は、
devcontainer.json
ファイルに設定を追加することで構成できます。 リポジトリにdevcontainer.json
ファイルがまだ含まれていない場合、今から追加できます。 「開発コンテナー構成のリポジトリへの追加」をご覧ください。 -
devcontainer.json
ファイルを編集し、ファイルの最上位レベルにある JSON オブジェクト内にsecrets
プロパティを追加します。 次に例を示します。JSON "secrets": { "NAME_OF_SECRET_1": { "description": "This is the description of the secret.", "documentationUrl": "https://example.com/link/to/info" }, "NAME_OF_SECRET_2": { } }
"secrets": { "NAME_OF_SECRET_1": { "description": "This is the description of the secret.", "documentationUrl": "https://example.com/link/to/info" }, "NAME_OF_SECRET_2": { } }
-
推奨するシークレットごとに、
secrets
内にプロパティを追加します。 たとえば、前のコード例では、NAME_OF_SECRET_1
とNAME_OF_SECRET_2
を、ユーザーが Codespaces の個人用設定で作成する必要があるシークレットの名前に変更します。 -
必要に応じて、各シークレットの説明と、このシークレットの詳細情報についての URL を指定します。
前のコード例の
NAME_OF_SECRET_2
で示されているように、description
とdocumentationUrl
は省略できます。 -
必要に応じて、さらにシークレットを指定します。
-
ファイルを保存し、リポジトリの必要なブランチに加えた変更をコミットします。