- Vue d'ensemble (Overview)
- Démarrer
- Concepts
- Utilisation de la UiPath CLI
- Guides pratiques
- Revenus CI/CD
- Référence de commande
- Vue d'ensemble (Overview)
- Codes de sortie
- Options globales
- agent codé uip
- encodeur UIP
- uip ancrage dans le contexte
- UiPath Docsai
- Fonction UiP
- garde-fous UiP
- configuration llm uip
- uip llm-passerelle
- uip model-hub
- Tâches (Jobs)
- Dossiers
- Processus
- Paquets
- Machines
- Utilisateurs
- Rôles
- Licences
- Flux
- Pièces jointes (Attachments)
- Sessions
- Calendriers
- magasins d'informations d’identification
- journaux-audit
- paramètres
- Actifs
- Compartiments
- Compartiment-fichiers
- Bibliothèques
- Files d'attente (Queues)
- éléments de la file d'attente
- Déclencheurs (Triggers)
- Webhooks
- add-test-data-entity
- ajouter une file d'attente de données de test
- add-test-data-variation
- Analyser
- Construire
- créer-projet
- Différence
- recherche-activités
- Obtenir les règles de l'analyse
- récupérer-activité-xaml par défaut
- Récupérer les erreurs
- obtenir des cas de test manuels
- Obtenir les étapes de test manuelles
- Get-Library-Object-Repository
- Récupérer le référentiel d'objets
- Obtenir les versions
- exemple de workflow
- indiquer l'application
- indiquer l'élément
- inspecter-package
- install-data-fabric-entities
- installer-ou-Update-packages
- list-data-fabric-entités
- instances-liste
- listes-exemples-workflow
- Créer un package
- Publier
- Distant
- restore
- exécuter, déboguer et amp; Exécution
- Exécuter le fichier
- modèles-recherche
- Démarrer-Studio
- arrêter l'exécution
- TM
- UIA
- tâches UIP
- Traçages UIP
- Commentaires sur les traces UIP
- Migration
- Référence et assistance
uip est un hook d’activité générateur de connecteurs
Syntaxe et options pour créer, lire et gérer les hooks JavaScript pré/post-requête sur les activités d’un connecteur.
uip is connectors builder activity hook gère les hooks de transformation JavaScript — l'échappement du connecteur pour la logique de demande/réponse qu'un champ ou un paramètre déclaratif ne peut pas exprimer. Il s'agit d'un sous-groupe imbriqué sous activity, divisé sur sa propre page en raison de la quantité de documentation de contexte de runtime dont un auteur de hook a besoin. Voir Générateur de connecteurs pour les concepts partagés (résolution du répertoire des connecteurs, flux de création type) qui s’appliquent ici aussi.
Les fichiers de hook en direct sous app/element/hooks/ dans le répertoire du connecteur. Un hook peut s’attacher à une ressource+ méthode spécifique (un hook de ressource) ou s’exécuter pour chaque requête (un hook global , --global).
Synthèse
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 est une liste de hook d’activité dans le générateur de connecteurs
Indiquez les fichiers de hook JavaScript sous app/element/hooks/ et indiquez si chacun est référencé dans element.json.
Options
| Long | Valeur (Value) | Description |
|---|---|---|
--connector-dir <path> | Chemin d'accès | Répertoire des connecteurs. |
Exemple
uip is connectors builder activity hook list
uip is connectors builder activity hook list
Format des données (--sortie 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 }
]
}
}
Un fichier de hook qui existe sur le disque mais qui a registered: false est orphelin - son code s’exécute pour rien jusqu’à ce qu’il soit réenregistré (réexécutez hook create en fonction de ou reliez-le manuellement à element.json).
uip est l'extracteur d'activité du générateur de connecteurs
Lire la source et le statut d’enregistrement d’un fichier de hook unique.
Arguments
| Nom | Requis | Objectif |
|---|---|---|
<filename> | oui | Nom du fichier du hook, par exemple resource-account-GET-postRequest.js ou global-preRequest.js. |
Options
| Long | Valeur (Value) | Description |
|---|---|---|
--connector-dir <path> | Chemin d'accès | Répertoire des connecteurs. |
Exemple
uip is connectors builder activity hook get resource-account-GET-postRequest.js
uip is connectors builder activity hook get resource-account-GET-postRequest.js
Format des données (--sortie 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 est la création de hook d’activité générateur de connecteurs
Créez un fichier de hook JavaScript et, sauf --no-auto-register, enregistrez sa référence dans element.json.
Options
| Long | Valeur (Value) | Requis | Description |
|---|---|---|---|
--resource-name <name> | string | conditionnellement* | Ressource à laquelle le hook se connecte. Pas nécessaire avec --global. |
--method <method> | string | conditionnellement* | Méthode HTTP de la ressource. Pas nécessaire avec --global. |
--path <internalPath> | string | non | Chemin interne de la ressource (le chemin de element.json ressource unique), afin de désambiguiser lorsqu'une ressource de liste et une ressource par ID partagent une même méthode (par exemple /contacts/{id}) — les chemins des fournisseurs ne sont pas uniques, contrairement au chemin interne. |
--hook-type <type> | preRequest|postRequest | oui | Phase de hook. |
--custom-code <js> | string | non** | Le corps du hook, en ligne. Capture mutuellement exclusive avec --custom-code-file. |
--custom-code-file <path> | Chemin d'accès | non** | Chemin d'accès à un fichier .js dont le contenu devient le corps du hook. Préféré sur --custom-code. |
--description <text> | string | non | Commentaire placé en haut du fichier. |
--context-params <list> | string | non | Remplacez la chaîne contextParams sur la référence de hook. |
--no-auto-register | Drapeau | non | Écrivez le fichier mais ne l'enregistrez pas dans element.json. |
--global | Drapeau | non | Enregistrez un hook à l’échelle du connecteur dans le tableau hooks[] de niveau supérieur, au lieu de l’attacher à une ressource + méthode. |
--connector-dir <path> | Chemin d'accès | non | Répertoire des connecteurs. |
* Le contrôleur ne peut pas exprimer « requis sauf si --global» déclarativement — les deux options sont simples (non requiredOption), et le service sous-jacent applique le cas de ressources-hook au moment du runtime, échouant si --resource-name/--method sont manquants sur un hook non global.
** La transmission simultanée de --custom-code et --custom-code-file est une erreur. Vous écrivez vous-même le corps du hook (ou faites en sorte qu'un agent l'écrive): la CLI place et enregistre uniquement le fichier; il ne génère pas de logique de hook.
Contexte du corps du hook
Un hook va passer par done({...}), jamais un return, et doit appeler done() sur chaque chemin de code. La CLI lie automatiquement les variables référencées par votre corps; remplacer l'ensemble par --context-params (énumérez explicitement multipart_hook_context_items si vous l'utilisez).
preRequest — en lecture seule:
request_method, request_headers, request_path, request_path_variables, request_parameters, request_body, request_body_map ( corps de la demande sélectionné sous forme de carte — lisez les champs directement), request_body_raw, request_vendor_body_map, request_vendor_url, request_expression (CEQL où, en tant que [{attribute,value,operator}]), request_previous_response, request_previous_response_headers, object_name, vendor_object_name, configuration (lecture seule dans cette phase).
preRequest — lecture/écriture (modifier, puis renvoyer uniquement les clés que vous avez modifiées; une barre done() passe tout ce qui passe par non modifié):
request_vendor_method, request_vendor_headers, request_vendor_path, request_vendor_parameters, request_vendor_body (chaîne en lecture; chaîne, liste ou carte en écriture), request_root_key, multipart_hook_context_items.
preRequest — done()clés uniquement: continue (false ignore l'appel du fournisseur mais exécute toujours postRequest), response_status_code / response_body / response_body_raw / response_error_message (raccourcir une réponse sans appeler du tout le fournisseur).
postRequest — en lecture seule:
response_iserror (true sauf si le statut HTTP est compris entre 200 et 207), response_body_map, response_body_raw_map, toutes les variables request_* telles qu'elles sont effectivement envoyées au fournisseur, request_previous_response, request_previous_response_headers.
postRequest — lecture/écriture (modifier et renvoyer les clés modifiées):
response_body, response_body_raw, response_headers, response_status_code, response_root_key, configuration (inscriptible dans cette phase — voir ci-dessous), multipart_hook_context_items.
postRequest — done()clés uniquement: response_error_message (convertit l'appel en une erreur; le statut provient de response_status_code, sinon 400), connection_identity (définit le nom d'affichage de la connexion), metadata_merge / merge_objects (ressources de découverte d'objets uniquement).
Règles clés:
configurationest en lecture seule danspreRequest, en lecture/écriture danspostRequest. Pour conserver une valeur par connexion dérivée (par exemple une URL de base calculée à partir d'un jeton), écrivez-la dans un hookpostRequest:done({ configuration: { 'base.url': url } }). L'écriture deconfigurationdanspreRequestn'a aucun effet.- Un
request_vendor_pathqui commence parhttpdevient l’URL complète de la demande, en contournant l’URL de base configurée du connecteur. - La réussite est strictement définie sur HTTP 200-207.
response_iserrorest dérivé et en lecture seule - renvoyant une valeur différente car elle ne fait rien.
Moteur: le runtime de hook a pris en charge JavaScript moderne (?., ??, async/await) et require() pour un ensemble de modules fixe: axios (pour les appels HTTP secondaires provenant de l’intérieur d’un hook ), crypto, url, querystring, util, buffer, zlib, lodash, jmespath, moment.
Pour indiquer quand (et quand ne pas atteindre un hook au lieu d'un champ/param déclaratif), la CLI pointe vers le uipath-connector-builder de la compétence references/hooks.md - voir uip skills.
Exemples
# 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
Format des données (--sortie 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
}
}
Pour un hook global, Filename suit le modèle global-<hookType>.js (par exemple global-preRequest.js) et ResourceName/Method sont absents.
uip est la suppression du hook d’activité du générateur de connecteurs
Supprimez un fichier de hook et chaque référence qui lui est associé dans element.json.
Arguments
| Nom | Requis | Objectif |
|---|---|---|
<filename> | oui | Nom du fichier de hook à supprimer. |
Options
| Long | Valeur (Value) | Description |
|---|---|---|
--connector-dir <path> | Chemin d'accès | Répertoire des connecteurs. |
Il n’y a pas d’options « modifier un hook » dédiées. verbe — supprimer et recréer, ou modifier le fichier directement sur le disque (un fichier de hook est en JavaScript brut, et non un artefact généré).
Exemple
uip is connectors builder activity hook delete resource-account-GET-postRequest.js
uip is connectors builder activity hook delete resource-account-GET-postRequest.js
Format des données (--sortie 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
}
}
Associé
- Activité — la ressource/champ/méthode/paramètre) à laquelle un hook s'attache.
- Générateur de connecteurs - concepts et les quatre verbes du cycle de vie du locataire.
- Authentification : configurez le schéma d’authentification du connecteur.
- Déclencheur et état — déclencheurs d'événements et modifications de fichiers d'éléments de bas niveau.
Voir également
- Synthèse
- uip est une liste de hook d’activité dans le générateur de connecteurs
- Options
- Exemple
- Format des données (--sortie json)
- uip est l'extracteur d'activité du générateur de connecteurs
- Arguments
- Options
- Exemple
- Format des données (--sortie json)
- uip est la création de hook d’activité générateur de connecteurs
- Options
- Contexte du corps du hook
- Exemples
- Format des données (--sortie json)
- uip est la suppression du hook d’activité du générateur de connecteurs
- Arguments
- Options
- Exemple
- Format des données (--sortie json)
- Associé
- Voir également