- 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
Chaque uip invocation se termine par un code de sortie numérique. Les scripts et les pipelines CI se ramifient sur ces codes pour distinguer le succès, une Error temporaire qui méritent d'être réessayées, un problème d'identifiants qui nécessite une attention humaine et une mauvaise utilisation de la ligne de commande.
Contrat
Le code de sortie est déterminé par le champ Result dans l'enveloppe de sortie de la commande. L'hôte mappe chaque valeur Result à un seul code de sortie:
| Code de sortie | Result valeur(s) | Signification |
|---|---|---|
| 0 | Success | La commande est terminée et son objectif a été atteint. |
| 1 | Failure, ConfigError | Échec générique ou problème de configuration que la CLI peut détecter avant d'atteindre le serveur (locataire manquant, fichier disque manquant, etc.). |
| 2 | AuthenticationError | La session n’est pas authentifiée, le jeton a expiré ou Orchestrator a rejeté les informations d’identification (401/403). |
| 3 | ValidationError | La commande a été invoquée avec une entrée non valide — indicateur inconnu, indicateur avec une valeur incorrecte, indicateurs mutuellement exclusifs, --output-filter incorrect, etc. |
| 4 | TimeoutError | Une opération de longue durée a dépassé son échéance. Réservé pour usage futur — aucune commande ne l'émet aujourd'hui, mais le contrat est stable, de sorte que les scripts écrits dans son contexte continueront de fonctionner. |
En outre :
| Code de sortie | Source | Signification |
|---|---|---|
| 130 | Convention Shell (128 + Signint) | L’utilisateur a annulé une invite interactive (Ctrl+C pendant uip login, uip skills install, uip completion, etc.). |
Aucun autre code de sortie n'est émis par la UiPath CLI. Une valeur en dehors de ce tableau indique une fin normale (crash non détecté, processus enfant en run- été ou le shell signalant un signal) et doit faire l’objet d’un examen et non d’une correspondance de modèle.
Stabilité
0,1,2,3sont stables dans une version majeure. Une commande qui se termine avec3(validation) pour une entrée donnée continuera à se fermer avec3entre les sauts Minor et PATCH.4est réservé. Une version mineure future peut commencer à l'émettre à partir de commandes longue durée; les scripts qui gèrent déjà4comme « délai d'attente» continueront de fonctionner.- De nouveaux codes peuvent être ajoutés dans une version majeure, avec un avis préalable dans les notes de version. L’ensemble actuel couvre chaque mode de défaillance requis par UiPath CLI 1.x.
Voir Contrôle des versions et stabilité pour le contrat du serveur plus large.
Lecture du code de sortie dans les scripts
bash/sh/zsh
uip or folders list
case $? in
0) echo "ok" ;;
1) echo "command failed" ;;
2) echo "not authenticated — run uip login" ;;
3) echo "bad input — check flags" ;;
4) echo "timed out" ;;
130) echo "cancelled by user" ;;
*) echo "unexpected exit: $?" ;;
esac
uip or folders list
case $? in
0) echo "ok" ;;
1) echo "command failed" ;;
2) echo "not authenticated — run uip login" ;;
3) echo "bad input — check flags" ;;
4) echo "timed out" ;;
130) echo "cancelled by user" ;;
*) echo "unexpected exit: $?" ;;
esac
set -e (ou set -o errexit) abandonne le script sur n'importe quelle sortie non nulle. Il s'agit de la valeur par défaut pour CI; combinez-le avec trap ou avec la gestion par commande lorsque vous devez faire la distinction entre les codes:
set -euo pipefail
if ! uip or folders list --output json > folders.json; then
case $? in
2) uip login ; uip or folders list --output json > folders.json ;;
*) exit $? ;;
esac
fi
set -euo pipefail
if ! uip or folders list --output json > folders.json; then
case $? in
2) uip login ; uip or folders list --output json > folders.json ;;
*) exit $? ;;
esac
fi
PowerShell
uip or folders list
switch ($LASTEXITCODE) {
0 { Write-Host "ok" }
1 { Write-Host "command failed" }
2 { Write-Host "not authenticated" }
3 { Write-Host "bad input" }
4 { Write-Host "timed out" }
130 { Write-Host "cancelled" }
default { Write-Host "unexpected exit: $LASTEXITCODE" }
}
uip or folders list
switch ($LASTEXITCODE) {
0 { Write-Host "ok" }
1 { Write-Host "command failed" }
2 { Write-Host "not authenticated" }
3 { Write-Host "bad input" }
4 { Write-Host "timed out" }
130 { Write-Host "cancelled" }
default { Write-Host "unexpected exit: $LASTEXITCODE" }
}
Actions de GitHub
Toute sortie non-zéro dans une étape run: échoue la tâche par défaut. Pour ramifier sur des codes spécifiques, capturez le code explicitement:
- name: Query Orchestrator
id: folders
run: |
uip or folders list --output json > folders.json
echo "exit_code=$?" >> "$GITHUB_OUTPUT"
continue-on-error: true
- name: Re-authenticate if expired
if: steps.folders.outputs.exit_code == '2'
run: uip login --client-id env.UIPATH_CLIENT_ID --client-secret env.UIPATH_CLIENT_SECRET --tenant "$TENANT"
env:
UIPATH_CLIENT_ID: ${{ secrets.UIPATH_CLIENT_ID }}
UIPATH_CLIENT_SECRET: ${{ secrets.UIPATH_CLIENT_SECRET }}
TENANT: ${{ vars.UIPATH_TENANT }}
- name: Query Orchestrator
id: folders
run: |
uip or folders list --output json > folders.json
echo "exit_code=$?" >> "$GITHUB_OUTPUT"
continue-on-error: true
- name: Re-authenticate if expired
if: steps.folders.outputs.exit_code == '2'
run: uip login --client-id env.UIPATH_CLIENT_ID --client-secret env.UIPATH_CLIENT_SECRET --tenant "$TENANT"
env:
UIPATH_CLIENT_ID: ${{ secrets.UIPATH_CLIENT_ID }}
UIPATH_CLIENT_SECRET: ${{ secrets.UIPATH_CLIENT_SECRET }}
TENANT: ${{ vars.UIPATH_TENANT }}
Faire correspondre les codes de sortie à l'enveloppe JSON
Lorsque --output json est en vigueur (par défaut), l'enveloppe contient les mêmes informations que le code de sortie, plus un message lisible par un humain:
{
"Result": "ValidationError",
"Message": "Unknown option '--folder-pth'. Did you mean '--folder-path'?",
"Instructions": "Run 'uip or folders list --help' to see valid options."
}
{
"Result": "ValidationError",
"Message": "Unknown option '--folder-pth'. Did you mean '--folder-path'?",
"Instructions": "Run 'uip or folders list --help' to see valid options."
}
Un pipeline peut se ramifier sur $? pour des décisions rapides (réessayer sur 2, abandonner sur 3) et analyser l'enveloppe pour l'image complète de l'erreur (faire apparaître le Message dans un webhook Slack, ticketer le Instructions avec l'étape défaillante, etc.).
Sémantique spécifique à la commande
Les codes de sortie sont des codes de statut, et non des codes de réussite. Une commande qui signale Success avec une charge utile Data indiquant « aucun résultat trouvé» quitte toujours 0. Par exemple, uip or folders list --all --name DoesNotExist renvoie {"Data": [], …} et quitte 0 — car la requête de liste a réussi; l'absence de correspondances est un résultat valide, et non un échec.
Lorsqu'une commande doit distinguer « l'opération réussie» de « le résultat du domaine est positif», elle l'indique dans sa page de référence:
uip tm testsets run— quitte toujours0une fois qu'Orchestrator a accepté la demande d'exécution de test et renvoie le fichierExecutionId. Le score de réussite/d’échec provient d’une chaîneuip tm wait+uip tm report getdistincte; branche surData.Faileddans la sortie du rapport.uip tm waitenvoie le code de sortie2au moment de l’expiration (une réutilisation spécifique à un domaine de l’emplacement d’erreur d’authentification — notée dans les exécutions uip tm wait et uip tm).uip or jobs start --wait-for-completion— se termine non-zéro lorsque la tâche atteint un état terminalFaultedouStopped. Sans--wait-for-completion, la commande se termine0dès qu'Orchestrator accepte la requête, quel que soit le résultat ultérieur de la tâche.
Consultez la page de référence pour toute commande où la sémantique de « réussite» est ambiguë.
Voir également
- Options globales — les indicateurs
--output,--output-filter,--log-levelet--log-file. - Modèles de script — réessais, interrogation, pipelines idempotents.
- Formats de sortie — la forme de l'enveloppe qui reflète le code de sortie.
- Contrôle des versions et stabilité - façon dont le contrat de code de sortie évolue entre les sauts du serveur.