connector-dev について
Domo Custom Connector IDEでサーバー側コネクターを開発するためのスキルです。認証、データ処理、ページネーション、エラー処理のパターンを扱います。
主な機能
- 01認証情報の検証と接続テスト
- 02HTTP ステータスとエラーの処理
- 03JSON 配列の解析とページネーション
- 04Domo ライブラリによるデータ処理
- 05コネクター開発チェックリスト
活用シーン
- 01外部 API コネクターの認証実装
- 02ページネーションを伴う API 応答の処理
- 03コネクターの列構成とエラー処理の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ stahura/ domo-ai-vibe-rules --skill connector-devインストール後、Claude Code で/connector-devを入力して読み込まれたか確認します。
同梱ファイルreferences/examples.md
詳細
スコープ
このスキルはDomo Custom Connector IDEプロジェクト向けです。Domo App Platform のカスタムアプリやカードの構築向けではありません。カスタムコネクターは、Connector Dev Studio 経由で公開した後、サーバー側で実行されます。
ファイル構成
authentication.js— 認証情報を検証し、外部 API に対して認証しますdataProcessing.js— 外部 API からデータを取得して処理しますREADME.md— 利用可能なレポートとパラメーターを説明します
主なパターン
認証
- 認証情報を使用する前に、入力をサニタイズし(正規表現で API キーやトークンを検証します)
- 必須のヘッダーを設定した後、軽量なテストリクエストを実行して認証情報を検証します
auth.authenticationSuccess()またはauth.authenticationFailed('reason')を呼び出します。認証状態を曖昧なままにしないでください
データ処理
- レスポンス本文を解析する前に、
httprequest.getStatusCode()を確認します - JSON 配列のレスポンスには
datagrid.magicParseJSON(jsonArray)を使用します。手動での列マッピングを避けられます do...whileループでページネーションを処理します。レスポンスの次ページへのリンクまたはカーソルをループ条件として使用します- レポートの種類ごとに処理を分岐するには
metadata.reportを使用します。認証情報にはmetadata.account.*を使用します
エラー処理
- HTTP エラーをステータスコードで捕捉し、人が読めるメッセージを得るためにエラー本文の解析を試みます
- エラー本文を JSON として解析できない場合は、生のレスポンスの部分文字列にフォールバックします
- コネクターのランタイムで正しく表示されるよう、エラーを再スローします
ルール
- 入力のサニタイズ — インジェクション攻撃を防ぐため、常に入力(API キー、ユーザーパラメーター)をサニタイズします
- 列の一貫性 — すべての行で列を揃えます。値がない場合は
nullを使用します - Domo ライブラリ — Domo 提供のメソッド(
httprequest、datagrid、auth、metadata)を使用します。リファレンスドキュメントを参照してください - 明確なエラーメッセージ —
auth.authenticationFailed()のメッセージでは、ユーザーが何を修正すべきかを伝えます
コード例
認証、データ処理、またはエラー処理パターンの完全なボイラープレートが必要な場合は、references/examples.md を参照してください。
チェックリスト
-
authentication.jsで入力形式を検証し、認証情報をテストしている -
authentication.jsで状況に応じてauth.authenticationSuccess()またはauth.authenticationFailed()を呼び出している -
dataProcessing.jsでページネーションを正しく処理している -
dataProcessing.jsで JSON を解析する前に HTTP ステータスコードを確認している -
dataProcessing.jsで JSON 配列にdatagrid.magicParseJSON()を使用している - すべての入力がサニタイズされている
- エラーメッセージが明確で、対処方法が分かる
-
README.mdにすべてのレポートとパラメーターが記載されている - すべての行で列数が揃っている
コメント
Markdown 対応