0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CircleCI CLI(v1 preview)でCircleCIのプロジェクト設定などを取得する方法

0
Last updated at Posted at 2026-08-24

CircleCIの設定内容は、通常はWeb UIの「Project Settings」から確認できます。ターミナルから離れずに同じ情報を確認したい場合や、確認作業をスクリプト化したい場合には、CircleCI CLIが役立ちます。

CircleCI CLIを使うと、プロジェクト設定の多くをターミナルからコピペ可能な形で取得できます。本記事では、プロジェクトの基本情報、パイプライン定義、トリガー設定を、CLIのコマンドだけで確認する方法を紹介します。

2026年8月時点で、CircleCI CLIのv1系はPreviewです。
本記事のコマンド・挙動は、CLIバージョン1.0.46087-preで確認したものとなります。

CircleCI CLIの準備と認証

CircleCI CLIを使うには、事前に認証が必要です。circleci auth loginを実行し、ブラウザ経由で認証を実施してください。

CLI本体のインストール方法はThe CircleCI CLIを参照してください。

プロジェクト設定・パイプライン定義を取得する

プロジェクトの基本情報はcircleci project getで取得できます。

circleci project get --json

実行すると、以下のようなJSONが返ります。

{
  "id": "bc223841-97f1-41c9-8c3f-ff7708f42947",
  "name": "demo-20260818-keyless-submodule",
  "slug": "gh/hidetaka-cci/demo-20260818-keyless-submodule",
  "organization": {
    "id": "0ffedcab-0755-4ea2-a76e-7f8a0b082494",
    "name": "hidetaka-cci"
  },
  "vcs": {
    "provider": "GitHub",
    "default_branch": "circleci-project-setup"
  }
}

このコマンドは、現在のディレクトリのgit remoteから対象プロジェクトを自動的に解決します。出力にはプロジェクトのid(project-id)・slug・組織情報が含まれます。以降のコマンドで繰り返し使用するため、環境変数に格納しておきます。

export PROJECT_ID=$(circleci project get --json | jq -r .id)

パイプライン定義の一覧はcircleci pipeline listで取得できます。

circleci pipeline list --project-id $PROJECT_ID --json

このプロジェクトには2つのパイプライン定義が存在し、次のように返ってきます。

[
  {
    "id": "7f88e940-d968-4638-9ab6-471b192b753e",
    "name": "submodule-demo",
    "config_source": {
      "provider": "github_app",
      "file_path": ".circleci/config.yml"
    }
  },
  {
    "id": "3d2f3cdc-c2d0-5439-9e2f-afb497ee9e67",
    "name": "demo-20260818-keyless-submodule",
    "config_source": {
      "provider": "github_oauth",
      "file_path": ".circleci/config.yml"
    }
  }
]

出力される各パイプライン定義にはid(pipeline-definition-id)とconfig_source.providergithub_app/github_oauth等)が含まれます。1つのプロジェクトに複数のパイプライン定義が存在する場合、config_source.providerで絞り込むと目的の定義を特定しやすくなります。こちらも環境変数に格納します。

export PIPELINE_DEFINITION_ID=$(circleci pipeline list --project-id $PROJECT_ID --json \
  | jq -r '.[] | select(.config_source.provider == "github_app") | .id')

トリガー情報を取得する

パイプライン定義に紐づくトリガー設定(イベント名、有効/無効等)には、専用のCLIサブコマンドが用意されていません。この場合はcircleci apiで、CircleCIのAPIを直接呼び出します。

circleci api "triggers?filter[project_id]=$PROJECT_ID"

返ってくるJSONは次の通りです。

{
  "data": [
    {
      "id": "9d0c6b83-2356-4877-8d7e-915617e4c6a4",
      "attributes": {
        "is_disabled": false,
        "created_at": "2026-08-18T01:58:13.014Z",
        "event": {
          "type": "vcs",
          "vcs": {
            "provider": "github_app",
            "repo_full_name": "hidetaka-cci/demo-20260818-keyless-submodule"
          },
          "filter": {
            "preset": "all-pushes"
          }
        }
      },
      "references": {
        "pipeline": { "id": "7f88e940-d968-4638-9ab6-471b192b753e" }
      }
    }
  ],
  "meta": { "total_count": 1 }
}

出力のdata配列に、トリガーのID・is_disabled(Trigger statusに相当)・イベント条件が含まれます。パイプライン定義単位で絞り込みたい場合は、filter[pipeline_id]を使用します。

circleci api "triggers?filter[pipeline_id]=$PIPELINE_DEFINITION_ID"

filter[project_id]を使った場合と同じ内容が返ります。プロジェクト単位ではなくパイプライン定義単位で対象を絞り込みたい場合に使用します。

まとめ

circleci project getcircleci pipeline listcircleci apiという3つのコマンドで、プロジェクトの基本情報からパイプライン定義、トリガー設定まで、CircleCIの主要な設定情報をターミナルから確認できます。

CircleCI CLIは、CircleCI CLI MCPとしてAIアシスタントからも呼び出せます。CLIで手動で行った操作の多くは、MCP経由でAIエージェントに任せることも可能です。詳細はCircleCI MCP overviewを参照してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?