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.

メモ

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

各推奨シークレットは、次の 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 を指定します。

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

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

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

参考資料

  •         [AUTOTITLE](/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository?tool=webui#creating-a-codespace-for-a-repository)