- Información general
- Comience ya
- Conceptos
- Uso de UiPath CLI
- Guías prácticas
- Recetas de CI/CD
- Referencia de los comandos
- Información general
- Códigos de salida
- Opciones globales
- agente de código UIP
- codificador UIP
- Contextualización de UIP
- UIP Docsai
- Función uip
- barreras de seguridad de UIP
- Configuración de UIP llm
- puerta de enlace llm de uip
- UIP model-hub
- añadir-entidad-de-datos-de-prueba
- añadir-cola-de-datos-de-prueba
- añadir-variación-de-datos-de-prueba
- Analizar
- Crear
- Crear proyecto
- Diferencia
- Buscar actividades
- obtener-reglas-del-analizador
- obtener-predeterminado-actividad-xaml
- obtener-errores
- obtener-casos-de-prueba-manual
- obtener-pasos-de-prueba-manual
- obtener-repositorio-de-objetos-de-biblioteca
- obtener-objeto-repositorio
- obtener versiones
- get-workflow-example
- indicar-aplicación
- indicar-elemento
- inspeccionar-paquete
- install-data-fabric-entities
- instalar-o-actualizar-paquetes
- enumerar-data-fabric-entities
- lista-instancias
- ejemplos-de-flujo-de-trabajo-de-lista
- Paquete
- Publicar
- Remoto
- restore
- ejecutar, depurar & Ejecución
- archivo de ejecución
- plantillas-de-búsqueda
- iniciar-studio
- detener la ejecución
- TM
- UIA
- Tareas de UIP
- Archivo adjunto
- Campo personalizado
- Ejecuciones
- EtiquetaDeObjeto
- Paquete
- escenario de rendimiento
- grupos de carga de escenarios de rendimiento
- datos de ejecución de perf-scenario
- informe de escenario de rendimiento
- Proyecto
- Informar
- Requisitos
- Resultado
- Casos de prueba
- Conjuntos de prueba
- registro de pasos de prueba
- Usuario
- Esperar
- Seguimientos de UIP
- Comentarios de seguimientos de UIP
- Migración
- Referencia y soporte
uip es el gancho de actividad del creador de conectores
Sintaxis y opciones para crear, leer y gestionar enlaces JavaScript previos/posteriores a la solicitud en las actividades de un conector.
uip is connectors builder activity hook gestiona los ganchos de transformación de JavaScript: la escotilla de escape del conector para la lógica de solicitud/respuesta que un campo o parámetro declarativo no puede expresar. Es un subgrupo anidado en activity, dividido en su propia página debido a la cantidad de documentación de contexto de runtime que necesita un autor de hook. Consulta Creador de conectores para conocer los conceptos compartidos (resolución de conector-directorio, el flujo de creación típico) que también se aplican aquí.
Los archivos de enlace se encuentran en app/element/hooks/ en el directorio del conector. Un enlace puede adjuntarse a un recurso+método específico (un enlace de recursos) o ejecutarse para cada solicitud (un enlace global , --global).
Sinopsis
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 es la lista de ganchos de actividad del creador de conectores
Enumere los archivos de enlace JavaScript en app/element/hooks/ y si se hace referencia a cada uno en element.json.
Opciones
| Largo | Valor | Descripción |
|---|---|---|
--connector-dir <path> | Ruta | Directorio del conector. |
Ejemplo
uip is connectors builder activity hook list
uip is connectors builder activity hook list
Forma de datos (--json de salida)
{
"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 archivo de enlace que existe en el disco pero tiene registered: false está huérfano: su código se ejecuta de forma gratuita hasta que se vuelva a registrar (volver a ejecutar hook create en él o conectarlo manualmente a element.json).
uip es el gancho de actividad del creador de conectores get
Leer el origen y el estado de registro de un solo archivo de enlace.
Argumentos
| Nombre | Obligatorio | Propósito |
|---|---|---|
<filename> | Sí | Nombre de archivo de enlace, por ejemplo resource-account-GET-postRequest.js o global-preRequest.js. |
Opciones
| Largo | Valor | Descripción |
|---|---|---|
--connector-dir <path> | Ruta | Directorio del conector. |
Ejemplo
uip is connectors builder activity hook get resource-account-GET-postRequest.js
uip is connectors builder activity hook get resource-account-GET-postRequest.js
Forma de datos (--json de salida)
{
"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 es creación de gancho de actividad del creador de conectores
Crea un archivo de enlace JavaScript y, a menos que --no-auto-register, registre su referencia en element.json.
Opciones
| Largo | Valor | Obligatorio | Descripción |
|---|---|---|---|
--resource-name <name> | String | condicionalmente* | Recurso al que se adjunta el hook. No es necesario con --global. |
--method <method> | String | condicionalmente* | Método HTTP del recurso. No es necesario con --global. |
--path <internalPath> | String | No | Ruta interna del recurso (la ruta única del recurso element.json), para eliminar la ambigüedad cuando un recurso de lista y un recurso por ID comparten un método (por ejemplo /contacts/{id}): las rutas de los proveedores no son únicas, la ruta interna sí lo es. |
--hook-type <type> | preRequest|postRequest | Sí | Fase de enlace. |
--custom-code <js> | String | No** | El cuerpo del gancho, en línea. Mutuamente exclusivo con --custom-code-file. |
--custom-code-file <path> | Ruta | No** | Ruta a un archivo .js cuyo contenido se convierte en el cuerpo del gancho. Preferido a --custom-code. |
--description <text> | String | No | Comentario colocado en la parte superior del archivo. |
--context-params <list> | String | No | Anula la cadena contextParams en la referencia del gancho. |
--no-auto-register | Marca | No | Escribe el archivo, pero no lo registras en element.json. |
--global | Marca | No | Registra un enlace para todo el conector en la matriz hooks[] de nivel superior, en lugar de adjuntarlo a un recurso+método. |
--connector-dir <path> | Ruta | No | Directorio del conector. |
* Commander no puede expresar "obligatorio a menos que --global" de forma declarativa: ambas opciones son simples (no requiredOption), y el servicio subyacente aplica el caso de gancho de recursos en tiempo de ejecución, fallando si faltan --resource-name/--method en un gancho no global.
** Pasar tanto --custom-code como --custom-code-file es un error. El cuerpo del hook lo escribes tú mismo (o pides a un agente que lo escriba): la CLI solo coloca y registra el archivo; no genera lógica de enlace.
Contexto del cuerpo del enlace
Un hook devuelve a través de done({...}), nunca un simple return, y debe llamar a done() en cada ruta de código. La CLI vincula automáticamente exactamente las variables a las que hace referencia tu cuerpo; anula el conjunto con --context-params (enumera multipart_hook_context_items explícitamente si lo usas).
preRequest — solo lectura:
request_method,,,,,, request_headers request_pathrequest_path_variablesrequest_parametersrequest_bodyrequest_body_map (cuerpo de solicitud seleccionado como mapa: leer campos directamente),,,, request_body_raw request_vendor_body_maprequest_vendor_urlrequest_expression (CEQL donde, como),,,,,[{attribute,value,operator}] request_previous_responserequest_previous_response_headersobject_namevendor_object_nameconfiguration (solo lectura en esta fase).
preRequest — lectura/escritura (edita y luego devuelve solo las claves que cambiaste; un simple done() pasa todo sin modificar):
request_vendor_method, request_vendor_headers, request_vendor_path, request_vendor_parameters, request_vendor_body (una cadena en lectura; cadena, lista o mapa en escritura), request_root_key, multipart_hook_context_items.
preRequest — Solo teclas done() : continue (false omite la llamada del proveedor pero aún ejecuta postRequest), response_status_code / response_body / response_body_raw / response_error_message (cortocircuitar un respuesta sin llamar al proveedor).
postRequest — solo lectura:
response_iserror (true a menos que el estado HTTP sea 200–207), response_body_map, response_body_raw_map, cada variable request_* tal como se envió realmente al proveedor, request_previous_response, request_previous_response_headers.
postRequest — leer/escribir (editar y devolver las claves modificadas):
response_body (mapa), response_body_raw (cadena), response_headers, response_status_code, response_root_key, configuration (escribible en esta fase — ver más abajo), multipart_hook_context_items.
postRequest — done()solo teclas: response_error_message (convierte la llamada en un error; el estado proviene de response_status_code, de lo contrario 400), connection_identity (establece el nombre para mostrar de la conexión), metadata_merge / merge_objects (solo recursos de detección de objetos).
Reglas clave:
configurationes de solo lectura enpreRequest, lectura/escritura enpostRequest. Para persistir un valor derivado por conexión (por ejemplo, una URL base calculada a partir de un token), escríbelo en un ganchopostRequest:done({ configuration: { 'base.url': url } }). EscribirconfigurationenpreRequestno tiene ningún efecto.- Un
request_vendor_pathque comienza conhttpse convierte en la URL de solicitud completa, omitiendo la URL base configurada del conector. - El éxito es estrictamente HTTP 200–207.
response_iserrores derivado y de solo lectura: devuelve un valor diferente porque no hace nada.
Motor: el tiempo de ejecución de hook (Denali) admite JavaScript moderno (?., ??, async/await) y require() para un conjunto de módulos fijos: axios (para llamadas HTTP secundarias desde dentro de un hook ), crypto, url, querystring, util, buffer, zlib, lodash, jmespath, moment.
Para obtener orientación sobre cuándo (y cuándo no) buscar un gancho en lugar de un campo/parámetro declarativo, la CLI apunta a la uipath-connector-builder habilidad references/hooks.md — consulta uip skills.
Ejemplos
# 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
Forma de datos (--json de salida)
{
"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
}
}
Para un enlace global, Filename sigue el patrón global-<hookType>.js (por ejemplo global-preRequest.js) y ResourceName/Method están ausentes.
uip es eliminación de gancho de actividad del creador de conectores
Elimina un archivo de enlace y elimina todas las referencias a él desde element.json.
Argumentos
| Nombre | Obligatorio | Propósito |
|---|---|---|
<filename> | Sí | Nombre de archivo de enlace para eliminar. |
Opciones
| Largo | Valor | Descripción |
|---|---|---|
--connector-dir <path> | Ruta | Directorio del conector. |
No hay una opción "editar un enlace" verbo: eliminar y volver a crear, o editar el archivo en el disco directamente (un archivo de enlace es JavaScript simple, no un artefacto generado).
Ejemplo
uip is connectors builder activity hook delete resource-account-GET-postRequest.js
uip is connectors builder activity hook delete resource-account-GET-postRequest.js
Forma de datos (--json de salida)
{
"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
}
}
Relacionado
- Actividad : los comandos de recurso/campo/método/parámetro a los que se adjunta un enlace.
- Creador de conectores : conceptos y los cuatro verbos del ciclo de vida del tenant.
- Auth : configura el esquema de autenticación del conector.
- Desencadenador y estado : desencadenadores de eventos y ediciones de archivos de elementos de bajo nivel.
Ver también
- Sinopsis
- uip es la lista de ganchos de actividad del creador de conectores
- Opciones
- Ejemplo
- Forma de datos (--json de salida)
- uip es el gancho de actividad del creador de conectores get
- Argumentos
- Opciones
- Ejemplo
- Forma de datos (--json de salida)
- uip es creación de gancho de actividad del creador de conectores
- Opciones
- Contexto del cuerpo del enlace
- Ejemplos
- Forma de datos (--json de salida)
- uip es eliminación de gancho de actividad del creador de conectores
- Argumentos
- Opciones
- Ejemplo
- Forma de datos (--json de salida)
- Relacionado
- Ver también