mcpField
C
checking-devops-prerequisites

checking-devops-prerequisites

github.com/forcedotcomテスト・品質1.1k264 回インストール1 日前に更新
リポジトリ

checking-devops-prerequisites について

Salesforce DevOps Center のテストワークフロー向け前提条件チェック用スキルです。関連スキルの実行前に、ログイン、Agentforce DX プラグイン、パイプラインの状態を確認します。

主な機能

  1. 01Salesforce org ログイン確認
  2. 02Agentforce DX プラグインの確認
  3. 03DevOps Center 認証の確認
  4. 04パイプラインの検索と選択
  5. 05必要に応じたステージ特定

活用シーン

  1. 01DevOps テスト前の環境確認
  2. 02テストスキル用パイプラインの特定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/forcedotcom/sf-skills --skill checking-devops-prerequisites

インストール後、Claude Code で/checking-devops-prerequisitesを入力して読み込まれたか確認します。

詳細

DevOps の前提条件の確認

すべての DevOps Center テストスキルで共通するチェックです。クエリやシステム呼び出しを行う前に、これらのチェックを実行してください。失敗した場合は、平易なメッセージを表示して、ユーザーが解決するまで停止してください。環境を検証せずに書き込みを行ってはいけません。

API バージョン: DevOps のテストで使用するシステム呼び出しは、すべて Salesforce API v67.0(最低要件)を対象とします。

重要: DevOps Center のデータ(パイプライン、ステージ、テストスイート、実行)は Salesforce 組織内にあります。ローカルリポジトリ内にはありません。ファイルシステムでパイプライン設定を検索してはいけません。必ず sf data query または sf api request rest を使って組織にクエリしてください。

他のスキルでの利用方法

DevOps のテストスキルはすべて、最初にこのスキルを読み込み、前提条件 1~4 を順に実行します。前提条件 5(ステージ)は、呼び出し元のスキルが特定のパイプラインステージを操作する場合(テストスイートの実行/再実行、同期、ゲートの設定、テストスイートのマッピング)のみ実行します。呼び出し元のスキルには、解決済みの doce-org-alias、pipelineId、および該当する場合は stageId を渡し、そのスキルのコマンドで使用します。

ユーザーに尋ねずに、DevOps Center の組織エイリアスを解決してください。ただし、本当に曖昧な場合は除きます。

  1. ユーザーのメッセージで組織エイリアスが指定されている場合は、それを使用します。
  2. それ以外の場合は、デフォルトの組織を使用します(sf org display --json。--target-org は指定しません)。
  3. デフォルトの組織に DevopsPipeline レコードがない場合(前提条件 4 が失敗した場合)のみ、「DevOps Center の組織エイリアスを指定してください」と尋ねます。

前提条件 1 — Salesforce 組織:ログインが有効

sf org list --json

result.nonScratchOrgs、result.scratchOrgs、または result.sandboxes に "connectedStatus": "Connected" のエントリが少なくとも 1 つあることを確認します。

  • 成功: Connected の組織が少なくとも 1 つある
  • 失敗: 組織が一覧にない、またはすべて接続されていない状態である

失敗した場合:「認証済みの Salesforce 組織が見つかりません。ターミナルで sf org login web --alias <your-alias> を実行してから、もう一度お試しください。」


前提条件 2 — Agentforce DX プラグインがインストール済み

sf plugins --json

name に plugin-agent、agentforce、または einstein が含まれるプラグインエントリ(大文字と小文字は区別しません)を探します。

  • 成功: プラグインが見つかった
  • 失敗: 該当するエントリがない

失敗した場合:「Agentforce DX Plugin がインストールされていません。sf plugins install @salesforce/plugin-agent を実行し、IDE を再起動してから、もう一度お試しください。」


前提条件 3 — DevOps Center 組織が認証済み

sf org display --target-org <doce-org-alias> --json

"connectedStatus" が "Connected" であることを確認します。

  • 成功: Connected
  • 失敗: セッションの有効期限切れ、またはエラー

失敗した場合:「DevOps Center 組織のセッションの有効期限が切れています。再認証するには、sf org login web --alias <doce-org-alias> を実行してください。」


前提条件 4 — パイプラインの特定

sf data query \
  --query "SELECT Id, Name, CreatedDate FROM DevopsPipeline ORDER BY Name ASC" \
  --target-org <doce-org-alias> \
  --json
  • 成功(1 件): 自動的に使用します。尋ねてはいけません。
  • 成功(複数件): ユーザーがすでにパイプラインを指定している場合は、名前で照合します。それ以外の場合は、番号付きリストを表示して尋ねます。
    Found <N> pipelines:
    1. <Name>
    2. <Name>
    Which pipeline would you like to work with?
    
  • 失敗(レコードなし):「DevOps Center のパイプラインが見つかりません。DevOps Testing Skills を使用する前に、DevOps Center でプロジェクトとパイプラインを作成してください。」
  • 失敗(未対応のオブジェクト):「<doce-org-alias> に DevOps Center がインストールされていないようです。正しい組織を指定しているか確認してください。」

前提条件 5 — パイプラインステージの特定(条件付き)

呼び出し元のスキルが特定のステージを操作する場合にのみ実行します。

ユーザーのメッセージですでにステージが指定されている場合(例:「Integration」、「Staging」、「Production」)は、その名前をそのまま使用します。再度尋ねてはいけません。Id を検索します。

sf data query \
  --query "SELECT Id, Name FROM DevopsPipelineStage WHERE DevopsPipelineId = '<pipelineId>' AND Name = '<stageName>'" \
  --target-org <doce-org-alias> --json

ステージが指定されていない場合にのみ、一覧全体を取得して、どのステージかを尋ねます。

sf data query \
  --query "SELECT Id, Name FROM DevopsPipelineStage WHERE DevopsPipelineId = '<pipelineId>' ORDER BY Name ASC" \
  --target-org <doce-org-alias> --json

続けて、「どのパイプラインステージを操作しますか?」と尋ねます。組織エイリアスを尋ねてはいけません。ステージはパイプラインから名前で解決します。

  • 成功: ステージの Id と Name が確認済み
  • 保留: 呼び出し元のスキルで必要になるまで不要

エラー処理

エラー条件応答
sf org list が完全に失敗する"Salesforce CLI に接続できませんでした。sf がインストールされ、PATH に設定されていることを確認してください。"
sf org display が認証エラーを返すわかりやすい再認証手順を表示します。生のエラーは表示しないでください。
DevopsPipeline のクエリが 5xx で失敗する"DevOps Center の組織でサーバーエラーが発生しています。数分後にもう一度お試しください。"
いずれかのチェックで予期しない例外が発生する"前提条件の確認中に問題が発生しました。エラー:[わかりやすい概要]。もう一度試すか、手動で解決して、準備ができたらお知らせください。"

生の API エラー、スタックトレース、JSON エラーペイロードをユーザーに表示しないでください。

注意点

問題解決方法
DevopsPipeline のクエリ結果が空対象の組織に DevOps Center がインストールされていないか、組織エイリアスが間違っています。ユーザーに確認を依頼してください
DevopsWorkItem sObject がサポートされていないWorkItem(名前空間なし)を使用してください。この組織バージョンでの正しい API 名です
レビュートリガーはステージレベルではなくパイプラインレベルですTriggerType = 'Review' および RelatedRecordId = <pipelineId> の DevopsPipelineStageTrigger をクエリしてください
Connect API の testSuites が ?stageId= で空を返す?triggerId=<reviewTriggerId> を使用してください。stageId が機能するのはステージレベルトリガーの場合のみです
sf plugins に agentforce がないインストール済みのプラグインは @salesforce/plugin-agent です。plugin-agent も照合対象にしてください

コメント