UiPath Documentation
uipath-cli
latest
false
UiPath CLI ユーザー ガイド
重要 :
このコンテンツは機械翻訳によって処理されています。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

UIP is コネクタ ビルダー アクティビティ フック

コネクタのアクティビティで JavaScript の要求前/要求後フックを作成、読み取り、管理するための構文とオプション。

uip is connectors builder activity hook は、JavaScript 変換フックを管理します。これは、宣言型フィールドやパラメーターでは表現できない要求/応答ロジックに対するコネクタのエスケープ ハッチです。これは activityの下に入れ子になったサブグループであり、フック作成者が必要とするランタイムコンテキストのドキュメントの量のために、独自のページに分割されています。ここにも適用される共通の概念 (コネクタ ディレクトリの解決、一般的な作成フロー) については、「 コネクタ ビルダー 」をご覧ください。

フック ファイルは、コネクタ ディレクトリの app/element/hooks/ の下にあります。フックは、特定のリソース+メソッド( リソースフック)に接続したり、すべてのリクエストに対して実行したり( グローバル フック、 --global)。

概要​

uip is connectors builder activity hook list [--connector-dir <path>]
uip is connectors builder activity hook get <filename> [--connector-dir <path>]
uip is connectors builder activity hook create --hook-type <preRequest|postRequest> [options...] [--connector-dir <path>]
uip is connectors builder activity hook delete <filename> [--connector-dir <path>]
uip is connectors builder activity hook list [--connector-dir <path>]
uip is connectors builder activity hook get <filename> [--connector-dir <path>]
uip is connectors builder activity hook create --hook-type <preRequest|postRequest> [options...] [--connector-dir <path>]
uip is connectors builder activity hook delete <filename> [--connector-dir <path>]

UIP is コネクタ ビルダー アクティビティのフック リスト​

[ app/element/hooks/ ] の下にある JavaScript フック ファイルの一覧と、それぞれが element.jsonで参照されているかどうかを示します。

オプション​

長押し値 (Value)説明
--connector-dir <path>パスコネクタ ディレクトリ。
uip is connectors builder activity hook list
uip is connectors builder activity hook list

データシェイプ(--output json)​

{
  "Code": "HookList",
  "Data": {
    "ConnectorRoot": "/work/periodic-design-acme",
    "Hooks": [
      { "filename": "resource-account-GET-postRequest.js", "registered": true }
    ]
  }
}
{
  "Code": "HookList",
  "Data": {
    "ConnectorRoot": "/work/periodic-design-acme",
    "Hooks": [
      { "filename": "resource-account-GET-postRequest.js", "registered": true }
    ]
  }
}

ディスク上に存在するが registered: false があるフックファイルは孤立しており、そのコードは再登録される ( hook create に対して再実行するか、手動で element.jsonに接続する) まで何も実行されません。

uip is コネクタ ビルダー アクティビティ フック get​

単一のフックファイルのソースと登録ステータスを読み取ります。

引数​

名前Required目的
<filename>○フックのファイル名 (例:resource-account-GET-postRequest.js または global-preRequest.jsです。

オプション​

長押し値 (Value)説明
--connector-dir <path>パスコネクタ ディレクトリ。
uip is connectors builder activity hook get resource-account-GET-postRequest.js
uip is connectors builder activity hook get resource-account-GET-postRequest.js

データシェイプ(--output json)​

{
  "Code": "Hook",
  "Data": {
    "ConnectorRoot": "/work/periodic-design-acme",
    "Filename": "resource-account-GET-postRequest.js",
    "Registered": true,
    "Code": "done({ response_body });"
  }
}
{
  "Code": "Hook",
  "Data": {
    "ConnectorRoot": "/work/periodic-design-acme",
    "Filename": "resource-account-GET-postRequest.js",
    "Registered": true,
    "Code": "done({ response_body });"
  }
}

UIP is コネクタ ビルダー アクティビティ フック 作成​

JavaScript フック ファイルを作成し、 --no-auto-register 場合を除き、その参照を element.jsonに登録します。

オプション​

長押し値 (Value)Required説明
--resource-name <name>string条件付き*フックがアタッチするリソース。--globalでは必要ありません。
--method <method>string条件付き*リソースの HTTP メソッドです。--globalでは必要ありません。
--path <internalPath>string×リソースの内部パス (一意の element.json リソース パス)、リスト リソースと by-id リソースがメソッドを共有する場合に曖昧さを解消します (例:/contacts/{id}) — ベンダー パスは一意ではなく、内部パスです。
--hook-type <type>preRequest|postRequest○フック フェーズ。
--custom-code <js>stringいいえ**フック本体、インライン。--custom-code-fileと相互に排他的です。
--custom-code-file <path>パスいいえ**内容がフック本体になる .js ファイルへのパスです。--custom-codeよりも優先されます。
--description <text>string×ファイルの先頭に配置されたコメント。
--context-params <list>string×フック参照の contextParams 文字列を上書きします。
--no-auto-registerフラグ×ファイルを書き込みますが、 element.jsonに登録しないでください。
--globalフラグ×1 つのリソース + メソッドに接続するのではなく、最上位の hooks[] 配列にコネクタ全体のフックを登録します。
--connector-dir <path>パス×コネクタ ディレクトリ。

* Commander は "必須 unless --global" を宣言的に表現することはできません — どちらのオプションもプレーン ( requiredOptionではない) であり、基礎となるサービスは実行時に resource-hook ケースを適用し、非グローバル フックで --resource-name/--method が欠落している場合は失敗します。

** --custom-code と --custom-code-file の両方を渡すとエラーになります。フック本体を自分で作成します (またはエージェントに作成してもらいます) — CLI はファイルを配置して登録するだけです。フック ロジックは生成されません。

フックの本文のコンテキスト​

フックは done({...})を介して返され、ベア returnは決して返されず、すべてのコード パスで done() を呼び出す必要があります。CLI は、本文が参照する変数を正確に自動バインドします。セットを --context-params で上書きします (使用する場合は明示的に multipart_hook_context_items リストを取得)。

preRequest — 読み取り専用:

request_method、 request_headers、 request_path、 request_path_variables、 request_parameters、 request_body、 request_body_map (キュレーションされた要求本文をマップとして選択 — フィールドを直接読み取る)、 request_body_raw、 request_vendor_body_map、 request_vendor_url、 request_expression (CEQL では [{attribute,value,operator}])、 request_previous_response、 request_previous_response_headers、 object_name、 vendor_object_name、 configuration (このフェーズでは読み取り専用)。

preRequest — 読み取り/書き込み (編集し、変更したキーのみを返しますdone()。

request_vendor_method、 request_vendor_headers、 request_vendor_path、 request_vendor_parameters、 request_vendor_body (読み取り時は文字列、書き込み時は文字列、リスト、またはマップ)、 request_root_key、 multipart_hook_context_itemsを指定します。

preRequest — done()のみのキー: continue (false はベンダーの呼び出しをスキップしますが、引き続きpostRequest実行されます)、 response_status_code / response_body / response_body_raw / response_error_message (ベンダーをまったく呼び出さずに応答を短絡させます)。

postRequest — 読み取り専用:

response_iserror (HTTP ステータスが 200–207 でない場合はtrue )、 response_body_map、、 response_body_raw_map、ベンダーに実際に送信されるすべての request_* 変数 ( request_previous_response、、 request_previous_response_headers) です。

postRequest — 読み取り/書き込み (変更されたキーを編集して返す):

response_body (マップ)、 response_body_raw (文字列)、 response_headers、 response_status_code、 response_root_key、 configuration (このフェーズでは書き込み可能 — 以下を参照)、 multipart_hook_context_items。

postRequest — done()専用キー: response_error_message (呼び出しをエラーに変換します。ステータスは response_status_code、それ以外の場合は 400)、connection_identity (接続の表示名を設定)、metadata_merge/merge_objects (オブジェクト検出リソースのみ)。

主なルール:

  • configuration は、 preRequestでは読み取り専用になり、 postRequestでは読み取り/書き込みが可能です。コネクションごとに派生した値 (トークンから計算されたベース URL など) を永続化するには、その値を postRequest フック done({ configuration: { 'base.url': url } })に書き込みます。preRequestにconfigurationを書き込んでも効果はありません。
  • httpで始まるrequest_vendor_pathは、コネクタに設定されているベース URL をバイパスして完全な要求 URL になります。
  • 成功は厳密には HTTP 200–207 です。response_iserror は派生し、読み取り専用です。別の値を返しても何も行われません。

エンジン: フック ランタイム (Denali) は、最新の JavaScript (?.、 ??、 async/await) と固定モジュール セットの require() をサポートしています。 axios (フック内からのセカンダリ HTTP 呼び出し用)、 crypto、 url、 querystring、 util、 buffer、 zlib、 lodash、 jmespath、 moment。

宣言型フィールド/パラメーターの代わりにフックに到達するタイミング (および到達しないタイミング) のガイダンスについては、CLI はuipath-connector-builderスキルのreferences/hooks.mdを指します (uip skillsを参照してください)。

# Post-request hook for a resource, from an agent-written JS file
uip is connectors builder activity hook create \
  --resource-name Account --method GET --hook-type postRequest \
  --custom-code-file ./account-postRequest.js

# Global pre-request hook
uip is connectors builder activity hook create \
  --hook-type preRequest --global --custom-code-file ./my-hook.js
# Post-request hook for a resource, from an agent-written JS file
uip is connectors builder activity hook create \
  --resource-name Account --method GET --hook-type postRequest \
  --custom-code-file ./account-postRequest.js

# Global pre-request hook
uip is connectors builder activity hook create \
  --hook-type preRequest --global --custom-code-file ./my-hook.js

データシェイプ(--output json)​

{
  "Code": "HookCreated",
  "Data": {
    "ConnectorRoot": "/work/periodic-design-acme",
    "Filename": "resource-Account-GET-postRequest.js",
    "HookType": "postRequest",
    "Method": "GET",
    "ResourceName": "Account",
    "FilePath": "app/element/hooks/resource-Account-GET-postRequest.js",
    "HookReference": {},
    "RegisteredInElement": true
  }
}
{
  "Code": "HookCreated",
  "Data": {
    "ConnectorRoot": "/work/periodic-design-acme",
    "Filename": "resource-Account-GET-postRequest.js",
    "HookType": "postRequest",
    "Method": "GET",
    "ResourceName": "Account",
    "FilePath": "app/element/hooks/resource-Account-GET-postRequest.js",
    "HookReference": {},
    "RegisteredInElement": true
  }
}

グローバル フックの場合、 Filename は global-<hookType>.js パターン (例:global-preRequest.js) と ResourceName/Method はありません。

uip is コネクタ ビルダー アクティビティ フックの削除​

フック ファイルを削除し、そのファイルへの参照をすべて element.jsonから削除します。

引数​

名前Required目的
<filename>○削除するフックのファイル名です。

オプション​

長押し値 (Value)説明
--connector-dir <path>パスコネクタ ディレクトリ。

専用の "編集フック" 動詞はありません — ディスク上のファイルを削除して再作成するか、直接編集します (フックファイルはプレーンな JavaScript であり、生成されたアーティファクトではありません)。

uip is connectors builder activity hook delete resource-account-GET-postRequest.js
uip is connectors builder activity hook delete resource-account-GET-postRequest.js

データシェイプ(--output json)​

{
  "Code": "HookRemoved",
  "Data": {
    "ConnectorRoot": "/work/periodic-design-acme",
    "Filename": "resource-account-GET-postRequest.js",
    "FileDeleted": true,
    "ReferenceRemoved": true
  }
}
{
  "Code": "HookRemoved",
  "Data": {
    "ConnectorRoot": "/work/periodic-design-acme",
    "Filename": "resource-account-GET-postRequest.js",
    "FileDeleted": true,
    "ReferenceRemoved": true
  }
}

参照​

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得