DevOpsの普及とCI/CDパイプラインの重要性が高まる中、継続的インテグレーション・継続的デプロイメントプラットフォームであるCircleCIは、多くの開発チームで採用されています。一方で、CircleCIのビルド履歴、パフォーマンス指標、テスト結果などのデータを他のSaaSや社内システムと連携して分析・可視化したいというニーズも増加しています。本記事では、クラウドETLサービス「TROCCO」のConnector Builderを利用し、ノーコードでCircleCI API連携・データ連携を実現する手順を具体的に解説します。

CircleCIの公式インテグレーションではなくETLツールの利用が適している場面

IntercomはZapier、Segment等の統合プラットフォームを通じて多くのサービスと連携可能です。一方CircleCIはSlack、GitHub、Jiraなどとの公式インテグレーションを提供していますが、これらは主にリアルタイム通知や基本的な連携に留まります。一方で、データを継続的に格納し整形する前提がある場合は、ETLツールが適しています。

  • CI/CDパフォーマンスの継続的な分析・監視
  • 複数プロジェクトのビルド状況の統合ダッシュボード作成
  • テスト結果とプロジェクト管理ツールの連携
  • ビルド時間やエラー率の傾向分析
  • ノーコードによる迅速な業務可視化

「TROCCO」はデータ転送だけでなく、データのフィルタリング、フォーマット変換、集計、マージなどの加工処理も一連のワークフローとして自動実行が可能です。

これにより、CI/CDデータを最適な形に整えられ、さらに様々な部門向けの分析やレポート作成に活用するデータを作成・転送することができます。

この記事の執筆時点では「TROCCO」に公式のCircleCIコネクタはありませんが、Connector Builderを利用すれば、CircleCIのAPIをGUIで設定しながら手軽に自作コネクタを作成することができます。

項目CircleCI APIを利用した連携ETLツールを活用した連携
実装難易度低い(非エンジニアでも扱いやすい)高い(エンジニアリングスキルが前提)
メンテナンス性GUIベースで管理しやすく、変更履歴も視覚的に把握可能コード管理による柔軟な制御が可能だが、保守は開発者依存
拡張性ETLツールの提供コネクタに依存(外部API追加には制限あり)API設計次第で自由な連携や複雑な処理が可能
エラーハンドリング標準でリトライや通知機能が搭載されていることが多い自前で例外処理やリトライロジックを実装する必要あり

Connector Builderとは?

ETLツールでは一般的に、2つの異なるインターフェース間の接続を可能にする実装のことを、コネクタと呼びます。Connector Builder は、ユーザー自身で独自コネクタをノーコードで作成できるTROCCOの機能です。

  • OAuth認証(認可コード・クライアントクレデンシャルズ)やAPIキーの設定に対応
  • ページネーションや任意のクエリパラメータに対応
  • 通常のコネクタと同様にスケジュールによる定期実行が可能

詳細は下記の記事をご参照ください
Connector Builder(コネクタビルダー)とは
※ Connector Builderは TROCCO の Advanced プラン以上のプランでご利用いただける機能です。

CircleCI API連携カスタムコネクタをConnector Builder で作成してみる

実際にIntercom API連携カスタムコネクタをTROCCOのConnector Builder機能を利用した独自コネクタを作成する方法を解説します。

STEP1|作成前に環境の準備をする

カスタムコネクタの作成時にはサービス側のAPIドキュメントの参照が必要となるため、事前に準備しておきましょう。

CircleCIのAPIドキュメントとリファレンスは下記です。
CircleCIのAPIドキュメントはこちら
CircleCIのAPIリファレンスはこちら

CircleCI API認証準備(Personal Access Token)

CircleCI APIではAPIキー認証を利用してAPIの認証を行います。そのため、カスタムコネクタを作成する前に、認証に必要な Personal API Token の発行を行います。

  1. CircleCIにログインし
  2. User Settings > Personal API Tokensに移動
  3. “Create New Token” をクリック
  4. Token名を入力し、Add API TokenをクリックするとAPI Tokenが生成されます
  5. 生成されたトークンを安全に保管する

API Tokenは一度しか表示されないため、必ず安全に控えておいてください。

STEP2|カスタムコネクタの新規作成・接続設定

事前準備が完了したら、次はTROCCOのカスタムコネクタの設定を行います。

TROCCOの管理画面からカスタムコネクタを新規作成

TROCCOの [カスタムコネクタ] メニューから [新規作成] ボタンを押してカスタムコネクタを作成します。

カスタムコネクタの各種設定を実施

APIドキュメントを確認しながら、各種設定をコネクタ情報・認証情報の設定を行います。

CircleCI API の認証方式は API Token を使用したAPIキー認証を採用していますので、認証情報の設定にて、認証種別「APIキー」を選択します。

  • 基本情報
    • 任意の名前をつけてください。(例:CircleCI Connector)
  • コネクタ情報
    • ベースURL: https://circleci.com/api
  • 認証情報
    • 認証種別: APIキー
    • 認証ヘッダー名: Circle-Token

認証ヘッダースキーム: Blank(Bearerを削除)

必要なAPIエンドポイントの追加

[エンドポイントを追加] ボタンを押して必要なAPIエンドポイントを追加します。


今回は、フォロー中の組織の最近のパイプライン実行履歴を取得できるエンドポイントを追加します。

〇エンドポイント設定内容

項目設定内容解説
名前Pipelines(任意の名前)
パス/v2/pipeline
パラメータorg-slugキュメント上ではrequiredになっていませんが、実際にAPIリクエストすると “message” : “You must provide an org-slug.” のエラーレスポンスが返却されるため必須指定にしています。
HTTPヘッダ設定しない利用時に任意のリクエストヘッダの指定してリクエストできるようにしたり、毎回固定パラメータでリクエストするなどの設定ができます
JSONPathルート$.items[*]レスポンスを確認してデータの行が格納されている配列形式のキー名をJSONPath記法で記述してください。
ページング設定無効今回はページング設定は行いませんが、ページベース、オフセットベース、カーソルベースのページングの設定が行えます。
ステータスコード設定デフォルト設定

ここまで設定し、エンドポイントを保存し、さらにカスタムコネクタを保存すればカスタムコネクタの作成は完了です。

STEP3|CircleCI APIの接続設定の作成

[接続情報] メニューをクリックし、接続情報一覧画面の右上の [新規作成] ボタンを押して接続情報を作成します。

カスタムコネクタは [その他] のタブの中にあります。


以下が設定手順になります。

① 接続設定を作成したいカスタムコネクタを選択します。
②「接続情報」画面で以下の項目を入力します

  •  名前:接続設定の名前
  • リソースグループ:接続を共有するグループがあれば選択します
  •  APIキー:事前準備で発行したAccess Tokenの値を入力します

③ [保存] を押して接続情報を保存します。

これで接続設定の作成は完了です。

STEP4|データ取得のための転送設定の作成

これまで設定した内容を稼働させる実装手順を行います。
先ほど作ったカスタムコネクタを利用して、顧客リストを取得してみます。

① 転送元・転送先の選択

サイドバーの[データ転送] > [転送設定] をクリックし、画面右上の端にある[新規転送設定作成] ボタンを押します。

転送元と転送先を選択する画面が表示されますので、転送元をクリック、カスタムコネクタを選択します。

カスタムコネクタは [その他] のタブの中にあります。
今回は転送先に Google Spreadsheets を指定します。

② 転送元・転送先の設定

先ほど作ったIntercomの [カスタムコネクタ]、[カスタムコネクタ接続設定]、[取得対象] を選択します。

転送元の設定

  • カスタムコネクタ: 作成したCircleCIコネクタ
  • 接続設定: 作成したCircleCI接続設定
  • 取得対象: Pipelines
  • パラメータ設定:
    • org-slug:
      • 例: org-slug=gh/CircleCI-Public。org-slug は vcs-slug/org-name の形式で指定します。GitLab や GitHub App を使うプロジェクトの場合は、vcs-slug に circleci を使い、org-name は Organization Settings にある組織IDに置き換えてください。

転送先の設定は次のドキュメントを参照して設定してください。

③ スキーママッピング

[次のSTEPへ] ボタンを押すと、スキーマのカラムマッピングが自動的に実行されます。

カスタムコネクタが正しく作成されていれば、取得予定のパイプラインデータサンプルがプレビューに表示されます。

カラムの型推論とマッピング設定は自動的に行われますが、転送先のカラム名やデータ型はGUI上で任意に編集できます。(例:JSONカラムを展開)

④ カスタムコネクタの設定を確認

設定内容に問題なければ [保存して適用] を押します。
これで転送設定の作成は完了です。

STEP5|転送ジョブの実行

それでは、作成した転送設定を利用し実際にデータを転送するために、作成した転送設定の画面の右上にある [実行] ボタンを押します。

ジョブの実行時に指定できる項目がありますが、今回は特に変更せず、そのまま実行をクリックします。

GoogleスプレッドシートにCircleCIのパイプラインデータが転送できました!

TROCCO の Connector Builder を利用すると、最小限の設定でAPI連携ができるカスタムコネクタの作成やデータの転送までできることがおわかりいただけたかと思います。

CircleCI API連携を活用したConnector Builderのユースケース

実装方法を解説してきましたが、他にも以下のようなユースケースの利用が可能になります。興味があるものは一度実装をお試しください。

  • CI/CDパフォーマンス監視: ビルド時間、成功率、失敗率の継続的な監視とアラート
  • 開発生産性分析: プロジェクト別、ブランチ別のビルド傾向分析
  • 品質管理: テスト結果やコードカバレッジの推移追跡
  • リソース最適化: ビルド実行時間とコスト分析によるCI/CD効率化
  • レポート自動化: 週次・月次でのCI/CD状況レポートの自動生成
  • SaaS横断分析: GitHub、Jira、Slackなどの開発ツールとの統合分析

よくある質問(FAQ)

Q. ノーコードでカスタムコネクタを作成・運用できますか?

A. GUIで直感的にコネクタを作成でき、さらにAPIドキュメントをもとに設定に必要な情報を自動で読み取り、最適な内容を提案するAIサポート機能を搭載しています。コネクタ作成時にはAPIやAccess Token理解などの基礎知識が必要となりますので、以下の記事もご参照ください。

非エンジニアでもわかる!Connector Builderを使うための3つのポイント

Q. CircleCIのパイプラインの全スケジュールのデータを取得できますか?

A. はい、単一の転送で全件取得することはできませんが、次の手順を組み合わせることで全スケジュールのデータを一括で取得することは可能です。まず、CircleCIのProjectsエンドポイント(https://circleci.com/docs/api/v1/#projects)を使ってproject-slugを取得し、その後、各プロジェクトごとにパイプラインデータを取得するエンドポイント(https://circleci.com/docs/api/v2/#tag/Pipeline/operation/listPipelinesForProject)を利用することで対応できます(ページングの設定が必要です)。TROCCOのワークフロー機能を活用すれば、この一連の処理を自動化することも可能です。

Q. CircleCI APIの制限はありますか?

A. CircleCI APIには Rate Limit(API呼び出し制限)があります。
詳細はCircleCIの公式ドキュメントをご確認ください。

まとめ

Connector Builderは、TROCCOの新機能として、コード不要のGUIでコネクタを素早く作成し、DWH・クラウドアプリ・Googleスプレッドシートとの連携を設定ベースで構築できます。
作成したコネクタは再利用でき、専門的なAPI実装を前提とせず現場主導でデータ連携や運用自動化を進められるため、設計〜保守の負担を大幅に削減します。
公式コネクタ同等の性能・セキュリティに加え、ワークフロー/通知も利用可能で、内製に比べ低コストで導入できます。
無料トライアルで、その使いやすさをお試しください。
※Connector Builderは、TROCCOのAdvancedプラン以上でご利用いただけます。
※本機能は2025年7月1日に正式リリースされました。技術仕様についてはお問い合わせください。

primeNumber編集長

primeNumberのブログを担当している編集長