メインコンテンツへスキップ
セルフホスト Jenkins サーバーを接続することで、CloudThinker エージェントがビルドの監視、テスト結果の分析、パイプラインログのレビュー、ジョブ操作の管理を行えるようになります。Jenkins は Jenkins MCP Server Plugin を通じてユーザー名と API トークンで認証します。

前提条件

  • バージョン 2.x 以降のセルフホスト Jenkins インスタンス(クラウドホスト Jenkins はサポートされていません)。
  • サーバーにインストールされた Jenkins MCP Server Plugin。デフォルト MCP ポートは 9090 です。
  • ルート URL の設定と認証情報の作成に必要な Jenkins の管理者アクセス。
クラウドホスト Jenkins サービスはサポートされていません。この接続には Jenkins MCP Server Plugin が必要です。

セットアップ

1

ルート URL を設定する

MCP Server Plugin は Jenkins がルート URL を設定していることを要求し、正しいジョブリンクを返します。Jenkins スクリプトコンソールで以下を実行します。
COOKIE_JAR=/tmp/jenkins_cookies
CRUMB=$(curl -s -c $COOKIE_JAR -u "admin:<password>" \
  'http://<host-ip>:9090/crumbIssuer/api/json' | python3 -c "import json,sys; print(json.load(sys.stdin)['crumb'])")

curl -s -X POST "http://<host-ip>:9090/scriptText" \
  -b $COOKIE_JAR -u "admin:<password>" -H "Jenkins-Crumb: $CRUMB" \
  --data-urlencode "script=
import jenkins.model.JenkinsLocationConfiguration
def loc = JenkinsLocationConfiguration.get()
loc.setUrl('http://<host-ip>:9090/')
loc.save()
println('Root URL set to: ' + loc.getUrl())
"
2

MCP エンドポイントを確認する

接続前にプラグインが稼働しているか確認します。
curl -s http://<host-ip>:9090/mcp-health/
3

CloudThinker で接続を追加する

Connections → Jenkins に移動して以下を入力します。
  • URL: http://<host-ip>:9090
  • Username: admin
  • API Token: Jenkins 管理者パスワードまたは API トークン
Connect をクリックします。CloudThinker が認証情報を検証し、Connected ステータスを表示します。

接続の詳細

フィールド説明
URLJenkins インスタンスのベース URLhttp://192.168.1.100:9090
UsernameJenkins ユーザー名admin
API TokenJenkins 管理者パスワードまたは API トークン

必要な権限

Jenkins ユーザーに以下の権限を付与してください。
  • Overall: Read
  • Job: Read, Discover
  • View: Read
CloudThinker 専用の Jenkins ユーザーをこれらの権限のみで作成してください。書き込み操作(ビルドのトリガー、パイプラインの再実行)は承認ゲートに保ってください。

エージェントの機能

接続後、エージェントは Jenkins パイプラインの監視と調査を行えます。
機能説明
ビルド監視ジョブの一覧表示とビルド状態の確認
ログ分析ビルドログの取得と検索
テスト結果テスト結果の確認
SCM 統合Git の変更とコミットの確認
ジョブコントロールビルドのトリガーとパイプラインの再実行 — 承認が必要

接続の確認

@alex list all Jenkins jobs and show the last build status for each

プロンプト例

@alex search Jenkins build logs for errors in the last 10 builds and #recommend fixes
@alex show test results for the main project's recent builds and #report failures
@alex check the Jenkins build queue and identify any stuck jobs

トラブルシューティング

Jenkins が稼働しており、CloudThinker からポート 9090 にアクセスできるか確認してください。URL フィールドには localhost ではなくホスト IP アドレスを使用してください。
ルート URL が設定されていないか、スクリプトコンソールコマンドが失敗しています。セットアップのスクリプトコンソールコマンドを再実行して再接続してください。
ユーザー名または API トークンが間違っているか、ユーザーに必要な権限がありません。認証情報を確認し、Jenkins ユーザーが Overall Read、Job Read、View Read アクセスを持っているか確認してください。

セキュリティ

  • 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
  • デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
  • 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
  • オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
  • 専用ユーザー — 必要なジョブとビューのみにスコープした CloudThinker 専用の Jenkins ユーザーを作成してください。
  • ネットワーク分離 — Jenkins ポート 9090 を CloudThinker の IP 範囲に制限するか VPN を使用してください。Jenkins UI を公共インターネットに公開しないようにしてください。

関連情報

https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/mcp.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=c89b6087a9d233901dea5e354452eff6

MCP 接続

Model Context Protocol でカスタムツールを接続する
https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/kubernetes.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=7c03292954ff635a1994623a5c39971b

Kubernetes 接続

Kubernetes クラスターを接続する