- Vue d'ensemble (Overview)
- Démarrer
- Concepts
- Utilisation de la UiPath CLI
- UiPath pour les agents de codage
- Guides pratiques
- Revenus CI/CD
- Référence de commande
- Vue d'ensemble (Overview)
- Codes de sortie
- Options globales
- agent codé uip
- UiPath Docsai
- 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
- 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
- listes-exemples-workflow
- Créer un package
- restore
- Exécuter le fichier
- modèles-recherche
- Démarrer-Studio
- arrêter l'exécution
- UIA
- Traçages UIP
- Migration
- Référence et assistance
Guide de l'utilisateur de UiPath CLI
La UiPath CLI prend en charge trois flux d'authentification correspondant aux trois cas d'utilisation courants: un développeur sur un ordinateur portable, un pipeline CI/CD appelant Orchestrator avec une application externe et un conteneur ou un exécuteur éphémère qui possède déjà un jeton d'accès. Toutes les trois se terminent au même endroit — une session authentifiée que chaque commande uip suivante réutilise — mais elles diffèrent dans la façon dont elles obtiennent le jeton et dont la CLI l'actualise.
Choisir un flux
| Vous êtes… | L'utiliser | Comment |
|---|---|---|
| Un développeur sur un ordinateur portable ou une station de travail | OAuth interactif2 | uip login ouvre un navigateur, vous vous connectez une fois, et les jetons sont stockés et actualisés automatiquement. |
| Un pipeline ou un serveur CI/CD | Application externe (informations d’identification du client) | Créez une application externe dans UiPath et transmettez son ID et sa clé secrète à uip login --client-id … --client-secret …. Les jetons sont stockés et actualisés. |
| Un conteneur, un exécuteur éphémère ou tout processus qui contient déjà un jeton | Authentification variable d'environnement | Définissez UIPATH_CLI_ENABLE_ENV_AUTH=true et indiquez le jeton + organisation/locataire via des variables d’environnement. Aucun fichier n’est écrit; aucune actualisation. |
uip logout efface toutes les informations d'identification sur le disque des deux premiers flux. Le flux env-var n'a rien à effacer — désélectionnez les variables env.
Flux 1 — OAuth interactif2
Exécutez uip login sans argument:
uip login
uip login
uip ouvre votre navigateur par défaut sur la page de connexion d'UiPath. Une fois authentifié, UiPath redirige vers un rappel local sur lequel uip écoute, et la CLI vous invite à choisir un locataire. Lorsque le locataire est sélectionné, la session est enregistrée et vous avez terminé.
Indicateurs utiles:
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
L'emplacement où sont stockées les informations d'identification
Par défaut, la session est stockée dans un dossier .uipath/ . uip recherche ce dossier à trois endroits, dans l’ordre:
- Dossier explicite — si vous avez transmis
--file <folder>, la CLI utilise ce dossier. Indiquez le dossier, pas un chemin de fichier. - Remontez du répertoire de travail actuel à la recherche de
.uipath/— afin qu'un dossier de projet puisse effectuer sa propre session sans affecter la page d'accueil de l'utilisateur. ~/.uipath/— la solution de secours par défaut.
Lorsqu’il n’existe aucun .uipath/ sur la chaîne de runtime, uip login en crée un au niveau de ~/.uipath/. Traitez le contenu du dossier comme Op manière - il est géré par uip login, uip login tenant set et uip logout.
Gérer les locataires à la mi-session
La session stocke un seul locataire actif à la fois. Basculer sans réexécuter le flux de connexion complet:
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 affiche l'organisation actuelle, le locataire et l'expiration du jeton.
Chaque commande uip or … accepte également --tenant <name> pour remplacer le locataire de session pour un seul appel - utile lorsque vous devez exécuter deux locataires dans le même script sans reconnecter.
L’actualisation est automatique
uip actualise les jetons d’accès en arrière-plan lorsqu’ils approchent de leur expiration. Vous n'avez pas besoin de réexécuter uip login sauf si le jeton d'actualisation expire ou est révoqué, ou si vous modifiez les locataires/organisations.
Flux 2 — Application externe (informations d'identification du client)
Créez une application externe dans UiPath (Automation Cloud: Admin → Applications externes) avec:
- Type d’application: confidentiel
- Type d'accord: informations d'identification du client
- Étendues: les étendues dont votre pipeline a besoin (par exemple,
OR.Folders,OR.Jobs,OR.Execution,OR.Assets,OR.Users)
Copiez l' ID d'application et le secret d'application générés et stockez-les dans le magasin secret du pipeline (clés secrètes GitHub Actions, groupes de variables Azure DevOps, informations d'identification Jenkins, coffre, etc.).
Connectez-vous depuis le pipeline:
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"
Le préfixe env.var_NAME
--client-id et --client-secret acceptent soit une valeur littérale, soit le préfixe spécial env. qui se résout vers une variable d'environnement au moment du runtime. env.UIPATH_CLIENT_ID signifie « lire la valeur de la variable d'environnement UIPATH_CLIENT_ID ». Cela maintient les valeurs secrètes en dehors des listes de l’historique et des processus, contrairement à --client-secret "$UIPATH_CLIENT_SECRET", qui se développe sur la ligne de commande.
Les valeurs littérales fonctionnent toujours:
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
Ne définissez pas UIPATH_CLIENT_ID / UIPATH_CLIENT_SECRET comme variables d'environnement et attendez-vous à ce que uip login les récupère automatiquement. Avant la version UiPath CLI 1.0, uip login --env et la lecture implicite d'Env-var étaient prises en charge; elles ont été supprimées. Vous devez transmettre l'indicateur explicitement, soit avec une valeur littérale, soit avec le préfixe env. .
Remplacements d’étendue
Si l’application externe a plusieurs étendues et que vous souhaitez une session plus restreinte pour un script spécifique, saisissez --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"
Flux 3 — Authentification variable d'environnement (jeton d'accès déjà en main)
Certains environnements — les conteneurs créés par un autre pipeline, les tâches planifiées, les installations de test — détiennent déjà un jeton d'accès UiPath valide et n'ont pas besoin de la connexion interactive ou de l'échange d'informations d'identification du client. Activez le flux d'authentification env-var en définissant:
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"
Avec UIPATH_CLI_ENABLE_ENV_AUTH=true, chaque invocation de uip s’authentifie à partir de ces variables et contourne entièrement le dossier .uipath/ . Il n’y a pas d’étape uip login et rien n’est écrit sur le disque.
Remarques et limitations
- Jeton transparente. L'appelant est responsable de la fraîcheur du jeton. Il n’y a pas de flux d’actualisation. À l'expiration du jeton,
uip login statussignaleExpiredet les commandes échouent jusqu'à ce que la variable soit mise en rotation. - L'URL du serveur est dérivée du jeton. La revendication
issdans le fichier JWT est faisant foi - vous n'avez pas définiUIPATH_URL. Cela évite les erreurs d'acheminement lorsqu'un pipeline définitUIPATH_URLde manière incohérent avec le jeton. - La passerelle compte. Si
UIPATH_CLI_ENABLE_ENV_AUTHn’est pas défini ou défini sur quelque chose d’autre que la chaîne littéraletrue, le flux basé sur des fichiers est utilisé. L'orthographe de la passerelle est silencieuse - vérifiez avecuip login status. - Les valeurs manquantes échouent explicitement. Si une variable requise est vide,
uiprenvoie une erreur claire en nommant la variable incriminée, et non un message générique « non authentifié».
Exemple d'étape d'actions GitHub utilisant l'authentification env-var:
- 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
Déconnexion
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 efface la session stockée à l’intérieur de .uipath/. Dans le flux env-var, il n'y a rien à supprimer — vous ne définissez pas les variables.
Résolution des problèmes
❌ Non connecté
Soit aucun dossier .uipath/ n’a été trouvé sur la chaîne de runtime, soit la session stockée n’est pas lisible. Exécutez uip login (ou définissez le flux env-var) et réessayez.
Jeton expiré
Les sessions d’application interactives et externes sont automatiquement actualisées à l’approche de leur expiration. Si vous voyez Expired, le jeton d'actualisation a expiré ou a été révoqué, réexécutez uip login. Pour l'authentification env-var, faites pivoter UIPATH_CLI_AUTH_TOKEN.
Plusieurs membres de l'organisation, mauvaise organisation sélectionnée
Transmettez --organization <logical-name> sur uip login pour contourner le sélecteur d’organisation, ou uip login tenant list après pour voir ce à quoi la session est réellement liée.
Le proxy d’entreprise bloque le rappel du navigateur
Le flux interactif ouvre un port de rappel local sur 127.0.0.1. La plupart des proxys laissent le bouclage seul, mais certaines configurations amusantes le bloquent. Solution en utilisant le Flux 2 (Application externe) ou le Flux 3 (env-var auth) — qui évitent tous deux le rappel du navigateur.
Voir également
- Installation de la UiPath CLI — configuration unique avant l'authentification.
- Configuration — Variables d'environnement et priorité des indicateurs.
- Sessions et informations d'identification — mise en page sur disque du dossier des informations d'identification.
- référence de connexion uip, référence de déconnexion uip.
- Choisir un flux
- Flux 1 — OAuth interactif2
- L'emplacement où sont stockées les informations d'identification
- Gérer les locataires à la mi-session
- L’actualisation est automatique
- Flux 2 — Application externe (informations d'identification du client)
- Le préfixe env.var_NAME
- Remplacements d’étendue
- Flux 3 — Authentification variable d'environnement (jeton d'accès déjà en main)
- Remarques et limitations
- Déconnexion
- Résolution des problèmes
- ❌ Non connecté
- Jeton expiré
- Plusieurs membres de l'organisation, mauvaise organisation sélectionnée
- Le proxy d’entreprise bloque le rappel du navigateur
- Voir également