Skip to main content

REST API からのプッシュ保護を操作する

secret scanning が API リクエストのコンテンツ内にシークレットを検出した場合に、REST API を使用して GitHub へのプッシュのブロックを解除するオプションについて説明します。

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

Secret scanning は、次のリポジトリに使うことができます:

  • パブリック リポジトリ (無料)
  • GitHub Advanced Security が有効な で GitHub Enterprise Cloud を使用している組織のプライベート リポジトリと内部リポジトリ
  • Enterprise Managed Users の GitHub Enterprise Cloud のユーザー所有リポジトリ

REST API からのプッシュ保護について

プッシュ保護は、サポートされているシークレットなどプッシュをブロックすることで、誤ってシークレットをリポジトリにコミットすることを防ぎます。

REST API の [BLOB の作成] エンドポイントと [ファイルコンテンツの作成または更新] エンドポイントには、プッシュ保護が含まれます。 「Git BLOB の REST API エンドポイント」および「リポジトリ コンテンツの REST API エンドポイント」を参照してください。

サポートされているシークレットがコンテンツに含まれるこれらのエンドポイントで要求を行うと、REST API はシークレットが検出されたことを示す 409 エラーを返します。

このエラーを解決する場合、次のいずれかの操作を行うことができます:

  • もう一度試す前に、API 要求のコンテンツからシークレットを 削除 します。
  • プッシュ保護バイパスの作成: [プッシュ保護バイパスの作成] エンドポイントを使用してプッシュ保護をバイパスできます。 詳しくは、「シークレット スキャン用の REST API エンドポイント」を参照してください。

参考資料