APIを介した環境の操作が以前より簡単になりました。今回のKinsta APIアップデートでは、ファイル構造データのフェッチ、環境間の選択的ファイルプッシュの実行、および単一のリクエストですべての環境一覧を取得する新たな方法を導入しました。

この全てが必要な呼び出しの数を減らす設計です。デプロイメントと開発の高速化ならびに効率化に貢献します。

環境のファイル一覧を取得

Kinsta APIを使用してWordPress環境の完全なディレクトリ構造を取得できるようになりました。このエンドポイントは、フォルダとサブフォルダの再帰的なリストを返します。各環境内の明確な状況を把握するのに有用です。SSHログインは必要ありません。

これは、内部ツールの構築、選択的デプロイ前のファイルパスの検証、または細かな精度で環境タスク自動化するのに特に便利です。

GETリクエストを以下のように送ることができます。

GET /sites/environments/{env_id}/file-list

以下は、curlを使用したリクエストの例です。

curl -i -X GET \
  'https://api.kinsta.com/v2/sites/environments/{env_id}/file-list' \
  -H 'Authorization: Bearer '

レスポンスには、以下のようなディレクトリを表すネスト構造のオブジェクトが含まれます。

  • wp-content/
  • wp-content/plugins/
  • wp-content/themes/
  • wp-content/uploads/

各フォルダには、名前、パス、子フォルダが含まれ、マッピングや視覚化を容易に行うことができます。

環境間での選択的なファイルのプッシュ

既存の Push Environmentエンドポイントでは、ファイル転送をより柔軟に管理できるようになりました。2つの新しいオプションフィールドにより、環境全体または特定のディレクトリを対象とすることができます。

PUTを以下のように送信します。

PUT /sites/{site_id}/environments

以下のフィールドを使用しファイルを制御可能です。

  • push_files_option"ALL_FILES"または"SPECIFIC_FILES"
  • file_list:プッシュしたいディレクトリパス一覧を指定

以下は、curlを使用して、ある環境から別の環境に選択したフォルダのみをプッシュする例です。

curl -i -X PUT \
  'https://api.kinsta.com/v2/sites/{site_id}/environments' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
    "source_env_id": "your-source-env-id",
    "target_env_id": "your-target-env-id",
    "push_db": true,
    "push_files": true,
    "run_search_and_replace": true,
    "push_files_option": "SPECIFIC_FILES",
    "file_list": [
      "wp-content/plugins",
      "wp-content/themes",
      "wp-content/uploads"
    ]
  }'

この選択性能には以下のようなメリットがあります。

  • 変更したものだけを同期することでデプロイ時間を短縮
  • 他のアセットやアップロードの上書きを回避
  • ステージングから本番環境へ変更を適用する際のコントロール性の向上

push_files_optionを使用しないと、デフォルトでは"ALL_FILES"となり、後方互換性が維持されます。

1回の呼び出しでサイトとその環境をリストアップ

企業内のすべてのサイトそしてその環境を1回のAPI呼び出しで取得できるようになりました。GET /sitesエンドポイントにinclude_environments=trueクエリパラメータを追加することで、レスポンスに各サイトの環境が含まれます。

これにより、APIコールを最小化し、環境監査プロセスをスピードアップすることができます。多数のサイトを管理するWeb制作会社やチームにとって特に便利な機能です。

GET /sites?company=your-company-id&include_environments=true

以下はcurlリクエストの一例です。

curl -i -X GET \
'https://api.kinsta.com/v2/sites?company=your-company-id&include_environments=true' \
  -H 'Authorization: Bearer '

レスポンスには、サイトのメタデータ(名前、IDなど)と、ネストされた環境一覧(stagingproductionなど)が含まれます。

Kinsta APIを使ってチームでの大規模な管理をもっとに簡単に

今回のAPIの強化は、特に数十(または数百)のWordPressサイトを管理する開発者やWeb制作会社の時間と手間を削減するよう設計されています。

選択したプラグインファイルの同期、内部ツールの構築、ポートフォリオ全体の環境の監査など、これまで手動で行ってきた作業を効率化するものです。

詳細はKinstaのAPIドキュメントでご確認いただけます。MyKinstaアクセストークンを生成し是非とも開発にご活用ください。