- Información general
- Comience ya
- Conceptos
- Uso de UiPath CLI
- UiPath para agentes de codificación
- 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
- UIP Docsai
- 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 versiones
- get-workflow-example
- indicar-aplicación
- indicar-elemento
- inspeccionar-paquete
- install-data-fabric-entities
- instalar-o-actualizar-paquetes
- enumerar-data-fabric-entities
- ejemplos-de-flujo-de-trabajo-de-lista
- Paquete
- restore
- archivo de ejecución
- plantillas-de-búsqueda
- iniciar-studio
- detener la ejecución
- UIA
- Seguimientos de UIP
- Migración
- Referencia y soporte
Guía del usuario de UiPath CLI
UiPath CLI admite tres flujos de autenticación que se asignan a los tres casos de uso comunes: un desarrollador en un portátil, un proceso de CI/CD que llama a Orchestrator con una aplicación externa y un contenedor o ejecutor efímero que ya tiene un token de acceso. Los tres terminan en el mismo lugar: una sesión autenticada que cada comando uip posterior reutiliza, pero difieren en la forma en que obtienen el token y en cómo la CLI lo actualiza.
Elija un flujo
| Usted es... | Usar esto | Cómo |
|---|---|---|
| Un desarrollador en un portátil o estación de trabajo | OAuth2 interactivo | uip login abre un navegador, inicias sesión una vez, los tokens se almacenan y se actualizan automáticamente. |
| Un proceso o servidor CI/CD | Aplicación externa (credenciales de cliente) | Crea una aplicación externa en UiPath, pasa su ID y secreto a uip login --client-id … --client-secret …. Los tokens se almacenan y se actualizan. |
| Un contenedor, un ejecutor efímero o cualquier proceso que ya contenga un token | Autenticación de variables de entorno | Establezca UIPATH_CLI_ENABLE_ENV_AUTH=true y proporcione el token + organización/tenant a través de env vars. No se escribe ningún archivo; sin actualizar. |
uip logout borra cualquier credencial en disco de los dos primeros flujos. El flujo env-var no tiene nada que borrar: desactive las variables de entorno.
Flujo 1: OAuth2 interactivo
Ejecuta uip login sin argumentos:
uip login
uip login
uip abre tu navegador predeterminado en la página de inicio de sesión de UiPath. Después de autenticarte, UiPath redirige a una devolución de llamada local que uip está escuchando, y la CLI te solicita que elijas un tenant. Cuando se selecciona el tenant, la sesión se guarda y ya está.
Marcadores útiles:
uip login --tenant DefaultTenant # skip the tenant picker
uip login --organization my-org # skip the org picker for users in multiple orgs
uip login --interactive # explicitly show the tenant picker even if --tenant was set
uip login --authority https://example.com # point at a non-default identity authority (Automation Suite, staging)
uip login --scope "OR.Folders OR.Jobs" # restrict the session to specific scopes
uip login --file /path/to/creds # store credentials in a non-default folder
uip login --tenant DefaultTenant # skip the tenant picker
uip login --organization my-org # skip the org picker for users in multiple orgs
uip login --interactive # explicitly show the tenant picker even if --tenant was set
uip login --authority https://example.com # point at a non-default identity authority (Automation Suite, staging)
uip login --scope "OR.Folders OR.Jobs" # restrict the session to specific scopes
uip login --file /path/to/creds # store credentials in a non-default folder
Dónde se almacenan las credenciales
De forma predeterminada, la sesión se almacena dentro de una carpeta .uipath/ . uip busca esta carpeta en tres lugares, en orden:
- Carpeta explícita: si pasaste
--file <folder>, la CLI utiliza esa carpeta. Pasa la carpeta, no una ruta de archivo. - Sube desde el directorio de trabajo actual buscando
.uipath/, para que una carpeta de proyecto pueda llevar su propia sesión sin tocar la página de inicio del usuario. ~/.uipath/: el recurso alternativo predeterminado.
Cuando no existe .uipath/ en ningún lugar de la cadena de acceso, uip login crea uno en ~/.uipath/. Trata el contenido de la carpeta como opaco: son administrados por uip login, uip login tenant set y uip logout.
Gestionar tenants a mitad de sesión
La sesión almacena un solo tenant activo a la vez. Cambia sin volver a ejecutar el flujo de inicio de sesión completo:
uip login tenant list # show all tenants available to your account
uip login tenant set MyTenant # switch the active tenant
uip login tenant list # show all tenants available to your account
uip login tenant set MyTenant # switch the active tenant
uip login status la organización actual, el tenant y la caducidad del token.
Cada comando uip or … también acepta --tenant <name> para anular el tenant de sesión para una sola llamada, lo que es útil cuando necesitas ejecutar contra dos tenants en el mismo script sin volver a iniciar sesión.
La actualización es automática
uip los tokens de acceso en segundo plano cuando están a punto de caducar. No es necesario volver a ejecutar uip login a menos que el propio token de actualización caduque o se revoque, o cambies los tenants/organizaciones.
Flujo 2: aplicación externa (credenciales de cliente)
Crea una aplicación externa en UiPath (Automation Cloud: Admin → Aplicaciones externas) con:
- Tipo de aplicación: confidencial
- Tipo de concesión: credenciales de cliente
- Ámbitos: los ámbitos que necesita tu proceso (por ejemplo,
OR.Folders,OR.Jobs,OR.Execution,OR.Assets,OR.Users)
Copia el ID de aplicación y el Secreto de aplicación generados, y guárdalos en el almacén de secretos del proceso (secretos de GitHub Actions, grupos de variables de Azure DevOps, credenciales de Jenkins, Vault, etc.).
Inicia sesión desde el proceso:
uip login \
--client-id env.UIPATH_CLIENT_ID \
--client-secret env.UIPATH_CLIENT_SECRET \
--tenant "$UIPATH_TENANT"
uip login \
--client-id env.UIPATH_CLIENT_ID \
--client-secret env.UIPATH_CLIENT_SECRET \
--tenant "$UIPATH_TENANT"
El prefijo env.VAR_NAME
--client-id y --client-secret aceptan un valor literal o el prefijo especial env. que se resuelve en una variable de entorno en tiempo de ejecución. env.UIPATH_CLIENT_ID significa "leer el valor de la variable de entorno UIPATH_CLIENT_ID ". Esto mantiene los valores secretos fuera del historial del shell y de los listados de procesos, a diferencia de --client-secret "$UIPATH_CLIENT_SECRET", que se expande en la línea de comandos.
Los valores literales siguen funcionando:
uip login --client-id 3c7af0…-… --client-secret s3cr3t… # works, but the secret is visible in history
uip login --client-id 3c7af0…-… --client-secret s3cr3t… # works, but the secret is visible in history
No establezcas UIPATH_CLIENT_ID / UIPATH_CLIENT_SECRET como variables de entorno y esperes que uip login las recoja automáticamente. Antes de UiPath CLI 1.0, se admitían uip login --env y la lectura implícita de env-var; fueron eliminados. Debes pasar el marcador explícitamente, ya sea con un valor literal o con el prefijo env. .
Anulaciones de ámbito
Si la aplicación externa tiene varios ámbitos y quieres una sesión más estrecha para un script específico, pasa --scope:
uip login \
--client-id env.UIPATH_CLIENT_ID \
--client-secret env.UIPATH_CLIENT_SECRET \
--tenant "$UIPATH_TENANT" \
--scope "OR.Folders OR.Jobs"
uip login \
--client-id env.UIPATH_CLIENT_ID \
--client-secret env.UIPATH_CLIENT_SECRET \
--tenant "$UIPATH_TENANT" \
--scope "OR.Folders OR.Jobs"
Flujo 3: autenticación de variable de entorno (token de acceso ya disponible)
Algunos entornos (contenedores creados por otro proceso, trabajos programados, accesorios de prueba) ya tienen un token de acceso a UiPath válido y no necesitan un inicio de sesión interactivo o un intercambio de credenciales de cliente. Habilita el flujo de autenticación env-var configurando:
export UIPATH_CLI_ENABLE_ENV_AUTH=true
export UIPATH_CLI_AUTH_TOKEN="$UIPATH_TOKEN" # JWT access token
export UIPATH_CLI_ORGANIZATION_NAME=my-org
export UIPATH_CLI_ORGANIZATION_ID="$UIPATH_ORG_ID"
export UIPATH_CLI_TENANT_NAME=DefaultTenant
export UIPATH_CLI_TENANT_ID="$UIPATH_TENANT_ID"
export UIPATH_CLI_ENABLE_ENV_AUTH=true
export UIPATH_CLI_AUTH_TOKEN="$UIPATH_TOKEN" # JWT access token
export UIPATH_CLI_ORGANIZATION_NAME=my-org
export UIPATH_CLI_ORGANIZATION_ID="$UIPATH_ORG_ID"
export UIPATH_CLI_TENANT_NAME=DefaultTenant
export UIPATH_CLI_TENANT_ID="$UIPATH_TENANT_ID"
Con UIPATH_CLI_ENABLE_ENV_AUTH=true, cada invocación uip se autentica a partir de estas variables y omite la carpeta .uipath/ por completo. No hay ningún paso uip login y no se escribe nada en el disco.
Notas y limitaciones
- Token opaco. La persona que llama es responsable de la actualización del token. No hay flujo de actualización. Cuando el token caduca,
uip login statuslos informesExpiredy los comandos fallan hasta que se rota la variable. - La URL del servidor se deriva del token. La reclamación
issen el JWT tiene autoridad: no se estableceUIPATH_URL. Esto evita el enrutamiento incorrecto cuando un proceso se estableceUIPATH_URLde forma inconsistente con el token. - La puerta importa. Si
UIPATH_CLI_ENABLE_ENV_AUTHno se establece o se establece en cualquier cosa que no sea la cadena literaltrue, se utiliza el flujo basado en archivos. Si se escribe mal, la puerta retrocede silenciosamente: compruébalo conuip login status. - Los valores faltantes fallan explícitamente. Si alguna variable requerida está vacía,
uipdevuelve un error claro al nombrar la variable infractora, no un genérico "no autenticado".
Ejemplo de paso de acciones de GitHub utilizando env-var auth:
- name: Run uip against Orchestrator
env:
UIPATH_CLI_ENABLE_ENV_AUTH: "true"
UIPATH_CLI_AUTH_TOKEN: ${{ secrets.UIPATH_TOKEN }}
UIPATH_CLI_ORGANIZATION_NAME: contoso
UIPATH_CLI_ORGANIZATION_ID: ${{ secrets.UIPATH_ORG_ID }}
UIPATH_CLI_TENANT_NAME: Default
UIPATH_CLI_TENANT_ID: ${{ secrets.UIPATH_TENANT_ID }}
run: uip or folders list --output json
- name: Run uip against Orchestrator
env:
UIPATH_CLI_ENABLE_ENV_AUTH: "true"
UIPATH_CLI_AUTH_TOKEN: ${{ secrets.UIPATH_TOKEN }}
UIPATH_CLI_ORGANIZATION_NAME: contoso
UIPATH_CLI_ORGANIZATION_ID: ${{ secrets.UIPATH_ORG_ID }}
UIPATH_CLI_TENANT_NAME: Default
UIPATH_CLI_TENANT_ID: ${{ secrets.UIPATH_TENANT_ID }}
run: uip or folders list --output json
Cierre de sesión
uip logout # clear the default credentials folder
uip logout --file /path/to/creds # clear a non-default credentials folder
uip logout # clear the default credentials folder
uip logout --file /path/to/creds # clear a non-default credentials folder
logout borra la sesión almacenada dentro de .uipath/. En el flujo env-var no hay nada que eliminar: desmarca las variables.
Solución de problemas
❌ No ha iniciado sesión
No se encontró ninguna carpeta .uipath/ en la cadena de acceso o la sesión almacenada es ilegible. Ejecuta uip login (o establece el flujo env-var) y vuelve a intentarlo.
Token caducado
Las sesiones de aplicación interactiva y externa se actualizan automáticamente cuando están a punto de caducar. Si ves Expired, el propio token de actualización ha caducado o se ha revocado: vuelve a ejecutar uip login. Para la autenticación env-var, rota UIPATH_CLI_AUTH_TOKEN.
Varios miembros de la organización, organización incorrecta elegida
Pase --organization <logical-name> en uip login para omitir el selector de la organización, o uip login tenant list después para ver a qué está vinculada realmente la sesión.
El proxy corporativo bloquea la devolución de llamada del navegador
El flujo interactivo abre un puerto de devolución de llamada local en 127.0.0.1. La mayoría de los proxies dejan solo el bucle invertido, pero algunas configuraciones agresivas lo bloquean. Utiliza el Flujo 2 (aplicación externa) o el Flujo 3 (env-var auth): ambos evitan por completo la devolución de llamada del navegador.
Ver también
- Instalar UiPath CLI : configuración única antes de la autenticación.
- Configuración : variables de entorno y prioridad de banderas.
- Sesiones y credenciales : diseño en disco de la carpeta de credenciales.
- referencia de inicio de sesión de uip, referencia de cierre de sesión de uip.
- Elija un flujo
- Flujo 1: OAuth2 interactivo
- Dónde se almacenan las credenciales
- Gestionar tenants a mitad de sesión
- La actualización es automática
- Flujo 2: aplicación externa (credenciales de cliente)
- El prefijo env.VAR_NAME
- Anulaciones de ámbito
- Flujo 3: autenticación de variable de entorno (token de acceso ya disponible)
- Notas y limitaciones
- Cierre de sesión
- Solución de problemas
- ❌ No ha iniciado sesión
- Token caducado
- Varios miembros de la organización, organización incorrecta elegida
- El proxy corporativo bloquea la devolución de llamada del navegador
- Ver también