Skip to main content

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

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

この機能を使用できるユーザー

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

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

推奨シークレットを指定した後、ユーザーが Codespaces の個人用設定でそのシークレットをまだ作成していない場合は、codespace 作成の高度なオプションの方法を使うときに、シークレットの作成を求められます。 これを行うには、GitHub.com で [コード] ボタンをクリックして、 [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 のレベルでシークレットを設定できます。 詳しくは、「リポジトリのシークレットと GitHub Codespaces の 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. ファイルを保存し、リポジトリの必要なブランチに加えた変更をコミットします。

参考資料