Skip to main content

リポジトリに推奨シークレットを指定する

codespace を作成するときに特定の開発環境シークレットを設定するようユーザーに求める設定を、開発コンテナーの構成に追加できます。

この機能を使用できるユーザーについて

People with write permissions to a repository can create or edit the codespace configuration.

プロジェクトでユーザー固有のシークレットを設定する必要がある場合は、codespace の作成時に、これを行うようユーザーに求めることができます。 これを行うには、リポジトリの開発コンテナー構成ファイルに設定を追加します。

推奨シークレットを指定した後、ユーザーが Codespaces の個人用設定でそのシークレットをまだ作成していない場合は、codespace 作成の高度なオプションの方法を使うときに、シークレットの作成を求められます。 これを行うには、GitHub で [ コード] ボタンをクリックして [Codespaces] タブをクリックしたら、 を選択して [オプションを指定して新規作成] をクリックします。

[Codespaces] タブのオプション ドロップダウンのスクリーンショット。[オプションを指定して新規作成] オプションが強調表示されています。

ページの下部に推奨シークレットの一覧が表示されます。

Screenshot of the "Create codespace" page with four recommended secrets highlighted with a dark orange outline.

Note

推奨シークレットの名前は、選択されているブランチのコンテナー構成でこれらのシークレットが指定されている場合にのみ、このページに一覧表示されます。

各推奨シークレットは、次の 3 つの方法のいずれかで表示されます。

  • ユーザーが Codespaces の設定で推奨シークレットを設定していない場合は、入力ボックスが表示され、シークレットをその場で作成できます。 説明と詳細情報へのリンクを構成してある場合は、それらが表示されます。 値の入力は省略できます。
  • ユーザーが推奨シークレットを既に作成していても、このリポジトリにそれを関連付けていない場合は、チェック ボックスをオンにしてこの関連付けを追加できます。 これは省略できます。
  • ユーザーが既に推奨シークレットを作成し、それをこのリポジトリに関連付けている場合は、表示されるチェック ボックスはあらかじめオンになっています。

リポジトリまたは Organization の所有者ではなく、codespace を作成するユーザーが提供する必要がある開発環境シークレットに、推奨シークレットを使う必要があります。 たとえば、パブリック プロジェクトがあり、ユーザーがそのプロジェクトでアプリケーションを実行するために個人 API キーを指定する必要がある場合は、codespace を作成するために高度なオプション ページを使用するユーザーに、シークレットの値としてキーの指定を求めるよう、推奨シークレットを指定できます。

または、リポジトリまたは Organization の所有者が提供できる開発環境シークレット (チーム全体で共有される API キーなど) の場合は、リポジトリまたは Organization のレベルでシークレットを設定できます。 詳しくは、「リポジトリまたは Organization の開発環境シークレットの管理」を参照してください。

  1. リポジトリに作成された codespace は、devcontainer.json ファイルに設定を追加することで構成できます。 リポジトリに devcontainer.json ファイルがまだ含まれていない場合、今から追加できます。 「開発コンテナー構成のリポジトリへの追加」をご覧ください。

  2. 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": { }
    }
    
  3. 推奨するシークレットごとに、secrets 内にプロパティを追加します。 たとえば、前のコード例では、NAME_OF_SECRET_1NAME_OF_SECRET_2 を、ユーザーが Codespaces の個人用設定で作成する必要があるシークレットの名前に変更します。

  4. 必要に応じて、各シークレットの説明と、このシークレットの詳細情報についての URL を指定します。

    前のコード例の NAME_OF_SECRET_2 で示されているように、descriptiondocumentationUrl は省略できます。

  5. 必要に応じて、さらにシークレットを指定します。

  6. ファイルを保存し、リポジトリの必要なブランチに加えた変更をコミットします。

参考資料