- Überblick
- Erste Schritte
- Konzepte
- Verwenden der UiPath CLI
- Anleitungen
- Überblick
- Verpacken und Veröffentlichen einer Lösung
- Bereitstellung von CI für Orchestrator
- Ausführen von Tests in einer Pipeline
- Einen Agent bereitstellen
- Verwalten Sie Orchestrator-Assets und Warteschlangen
- Vorhandene Orchestrator-Ressourcen wiederverwenden
- CI/CD-Rezepte
- Befehlsreferenz
- Überblick
- Exitcodes
- Globale Optionen
- UIP-codierter Agent
- uip coder
- uip context-grounding
- UIP-Dokumentation
- uip function
- uip guardrails
- uip llm-configuration
- uip llm-gateway
- uip model-hub
- Add-Test-Data-Entität
- Add-Test-Data-Queue
- Add-Test-Data-Variation
- Analysieren
- Erstellen
- Ein Projekt erstellen
- Diff
- Suchaktivitäten
- Get-Analyse-Regeln
- get-standard-aktivität-xaml
- Fehler abrufen
- Manuelle-Testfälle erhalten
- Manuelle-Testschritte erhalten
- get-library-object-repository
- get-object-repository
- Get-Versionen
- Beispiel für einen Workflow abrufen
- Anwendung anzeigen
- Anzeigeelement
- Inspektionspaket
- install-data-fabric-entities
- Pakete installieren oder aktualisieren
- list-data-fabric-entities
- list-instances
- Beispiele für Listenworkflows
- Packen
- Veröffentlichen
- remote
- restore
- run, debug & execution
- Ausführungsdatei installieren
- Suchvorlagen
- Studio starten
- Ausführung anhalten
- tm
- UIA
- uip tasks
- UIP-Ablaufverfolgungen
- uip traces feedback
- Migration
- Referenz und Support
Daily tasks for managing Orchestrator runtime resources with `uip or`, covering assets, buckets, libraries, queues, triggers, and webhooks.
uip or is the general-purpose CRUD surface over Orchestrator's runtime resources: assets, buckets (and files inside them), libraries, queues (and items), triggers, and webhooks — alongside the jobs, processes, and folders commands documented elsewhere in this guide. This page collects the tasks that come up daily — bulk-creating assets, moving files in and out of buckets, dispatching queue work, inspecting triggers — as copy-pasteable snippets.
The full flag list for every subcommand is on the uip or reference page and its per-resource pages. This page covers the common usage patterns.
uip or (this page) is different from uip solution resource. uip or always calls Orchestrator on a live tenant. uip solution resource only ever reads local resource declarations inside a .uipx solution on disk. If in doubt, look at the prefix.
Konventionen, die Sie zuerst kennen müssen
Bevor ein Snippet funktioniert:
- Authentication. Every
uip orverb calls Orchestrator. Runuip loginfirst. Runuip login tenant set <name>to switch the active tenant before a call that targets a different one. - Folder scoping. Assets, buckets, queues, queue items, and time/queue triggers are folder-scoped — pass
--folder-path(e.g.Shared) or--folder-key(GUID), or--all-folderswhere that flag is supported. Libraries, API triggers, and webhooks are tenant-scoped and reject the folder flags. - Schlüssel. Listenverben geben GUIDs zurück (
key,identifier,uniqueKey). Übergeben Sie diese anget,updateunddelete. Numerischeid-Felder sind intern; Übergeben Sie sie nicht an Befehle. - Destructive operations require
-y, --yes. Everydeleteverb on these resources refuses to run without it — the CLI never prompts interactively. - JSON ist die Standardausgabe. Jedes folgende Snippet basiert darauf; siehe Ausgabeformate.
Assets
Bereitstellung von Assets aus einer CSV-Datei massenweise
Dies ist die gängigste Aufgabe „Meine geheimen Schlüssel und Konfiguration verwalten“. Bei einer CSV-Datei wie:
name,value,type,folderPath
ApiEndpoint,https://api.example.com,Text,Shared
MaxRetries,3,Integer,Shared
Debug,false,Bool,Shared
name,value,type,folderPath
ApiEndpoint,https://api.example.com,Text,Shared
MaxRetries,3,Integer,Shared
Debug,false,Bool,Shared
Mit Bash + uip or assets create durchlaufen:
#!/usr/bin/env bash
set -euo pipefail
# Skip the header row
tail -n +2 ./assets.csv | while IFS=, read -r name value type folder; do
uip or assets create "$name" "$value" \
--folder-path "$folder" \
--type "$type"
done
#!/usr/bin/env bash
set -euo pipefail
# Skip the header row
tail -n +2 ./assets.csv | while IFS=, read -r name value type folder; do
uip or assets create "$name" "$value" \
--folder-path "$folder" \
--type "$type"
done
Das erneute Ausführen für denselben Ordner schlägt bei Duplikaten fehl. Zwei Möglichkeiten, dies zu handhaben:
-
Upsert-Muster. Zuerst auflisten, dann
createoderupdatepro Zeile:tail -n +2 ./assets.csv | while IFS=, read -r name value type folder; do existing=$(uip or assets list --folder-path "$folder" --name "$name" \ --output-filter "Data[?name=='$name'] | [0].key" --output plain) if [ -n "$existing" ] && [ "$existing" != "null" ]; then uip or assets update "$existing" "$value" else uip or assets create "$name" "$value" --folder-path "$folder" --type "$type" fi donetail -n +2 ./assets.csv | while IFS=, read -r name value type folder; do existing=$(uip or assets list --folder-path "$folder" --name "$name" \ --output-filter "Data[?name=='$name'] | [0].key" --output plain) if [ -n "$existing" ] && [ "$existing" != "null" ]; then uip or assets update "$existing" "$value" else uip or assets create "$name" "$value" --folder-path "$folder" --type "$type" fi done -
Muster für die Lösungsbereitstellung. Deklarieren Sie Asset-Sets, die zusammen mit einem Paket ausgeliefert werden, im Lösungsmanifest und verwenden Sie
uip solution deploy run --config-file– dieser Pfad ist von Natur aus idempotent. Siehe Anleitung: Packen und Veröffentlichen einer Lösung.
Assets des Typs Zugangsdaten
Zugangsdaten und geheime Assets benötigen einen Schlüssel für den Zugangsdatenspeicher:
# Find the credential store
STORE_KEY=$(uip or credential-stores list \
--output-filter "Data[?name=='MyStore'] | [0].key" --output plain)
# Create the credential asset (value format: username:password)
uip or assets create ApiLogin "alice:s3cr3t" \
--folder-path Shared \
--type Credential \
--credential-store-key "$STORE_KEY"
# Find the credential store
STORE_KEY=$(uip or credential-stores list \
--output-filter "Data[?name=='MyStore'] | [0].key" --output plain)
# Create the credential asset (value format: username:password)
uip or assets create ApiLogin "alice:s3cr3t" \
--folder-path Shared \
--type Credential \
--credential-store-key "$STORE_KEY"
Anmeldeinformations- und Geheimniswerte werden nie von list oder get zurückgegeben; Verwenden Sie assets get-asset-value (das noch einen Ordner-Scope benötigt), um den Live-Wert zu lesen, oder rufen Sie den Roboter auf.
Freigeben von Assets über Ordner hinweg
Einmal in Shared erstellen und dann für jeden Ordner freigeben, der es benötigt:
ASSET_KEY=$(uip or assets list --folder-path Shared --name ApiEndpoint \
--output-filter "Data[0].key" --output plain)
for folder in Production Staging Development; do
uip or assets share "$ASSET_KEY" --folder-path "$folder"
done
ASSET_KEY=$(uip or assets list --folder-path Shared --name ApiEndpoint \
--output-filter "Data[0].key" --output plain)
for folder in Production Staging Development; do
uip or assets share "$ASSET_KEY" --folder-path "$folder"
done
Mit unshare widerrufen. Die vollständige Verbliste finden Sie unter Assets .
Buckets und Bucket-Dateien
Laden Sie eine lokale Datei hoch
BUCKET_KEY=$(uip or buckets list --folder-path Shared \
--output-filter "Data[?name=='invoices'] | [0].key" --output plain)
uip or bucket-files upload "$BUCKET_KEY" "inbox/invoice-001.pdf" \
--folder-path Shared \
--file ./invoice-001.pdf
BUCKET_KEY=$(uip or buckets list --folder-path Shared \
--output-filter "Data[?name=='invoices'] | [0].key" --output plain)
uip or bucket-files upload "$BUCKET_KEY" "inbox/invoice-001.pdf" \
--folder-path Shared \
--file ./invoice-001.pdf
Der Pfad innerhalb des Buckets (inbox/invoice-001.pdf) ist das zweite Argument für upload; --file ist der lokale Pfad zum Hochladen. Inhaltstyp wird automatisch erkannt; Übergeben Sie --content-type zum Überschreiben.
Laden Sie eine Datei herunter
uip or bucket-files download "$BUCKET_KEY" "reports/summary.csv" \
--folder-path Shared \
--destination ./summary.csv
uip or bucket-files download "$BUCKET_KEY" "reports/summary.csv" \
--folder-path Shared \
--destination ./summary.csv
Ohne --destination wird der Inhalt nach Standardwert gestreamt – nützlich für das Piping an einen Prozessor.
Auflisten und paginieren
# First page
uip or bucket-files list "$BUCKET_KEY" --folder-path Shared
# The response carries a continuationToken — pass it back to fetch the next page
uip or bucket-files list "$BUCKET_KEY" --folder-path Shared \
--continuation-token "<token-from-previous-response>"
# First page
uip or bucket-files list "$BUCKET_KEY" --folder-path Shared
# The response carries a continuationToken — pass it back to fetch the next page
uip or bucket-files list "$BUCKET_KEY" --folder-path Shared \
--continuation-token "<token-from-previous-response>"
Bucket-Datei-Auflistungen sind die einzige Ressource in der CLI, die ein Fortsetzungstoken anstelle einer Offset-Paginierung verwendet – die anderen Listenverben verwenden --limit / --offset.
Vorsignierte URLs
Wenn ein Roboter oder externer Dienst direkten Blobzugriff benötigt, ohne die CLI zu verwenden:
uip or bucket-files get-upload-url "$BUCKET_KEY" "inbox/incoming.pdf" \
--folder-path Shared --expiry-in-minutes 30
uip or bucket-files get-download-url "$BUCKET_KEY" "reports/summary.csv" \
--folder-path Shared --expiry-in-minutes 30
uip or bucket-files get-upload-url "$BUCKET_KEY" "inbox/incoming.pdf" \
--folder-path Shared --expiry-in-minutes 30
uip or bucket-files get-download-url "$BUCKET_KEY" "reports/summary.csv" \
--folder-path Shared --expiry-in-minutes 30
Beide geben eine zeitbegrenzte URL zurück, die auf den einzelnen Dateipfad beschränkt ist.
Warteschlangen und Warteschlangenelemente
Warteschlange erstellen
uip or queues create InvoiceQueue \
--folder-path Shared \
--max-retries 3 \
--retention-period 90
uip or queues create InvoiceQueue \
--folder-path Shared \
--max-retries 3 \
--retention-period 90
Vollständige Flag-Liste – --auto-retry, --enforce-unique-reference, --encrypted, Aufbewahrungseinstellungen – für die Warteschlangenreferenz.
Fügen Sie ein einzelnes Arbeitselement hinzu
uip or queue-items add InvoiceQueue \
--folder-path Shared \
--specific-content '{"InvoiceId":"INV-001","Amount":1500}' \
--priority High
uip or queue-items add InvoiceQueue \
--folder-path Shared \
--specific-content '{"InvoiceId":"INV-001","Amount":1500}' \
--priority High
--specific-content ist die JSON-Nutzlast, die der Roboter liest.
Massenhinzufügen aus einer Datei
cat > ./items.json <<'EOF'
[
{"specificContent": {"InvoiceId":"INV-001"}, "priority": "Normal"},
{"specificContent": {"InvoiceId":"INV-002"}, "priority": "Normal"}
]
EOF
ITEMS=$(jq -c . ./items.json)
uip or queue-items bulk-add InvoiceQueue \
--folder-path Shared \
--queue-items "$ITEMS" \
--commit-type StopOnFirstFailure
cat > ./items.json <<'EOF'
[
{"specificContent": {"InvoiceId":"INV-001"}, "priority": "Normal"},
{"specificContent": {"InvoiceId":"INV-002"}, "priority": "Normal"}
]
EOF
ITEMS=$(jq -c . ./items.json)
uip or queue-items bulk-add InvoiceQueue \
--folder-path Shared \
--queue-items "$ITEMS" \
--commit-type StopOnFirstFailure
Each item accepts specificContent, priority, reference, deferDate, dueDate — there is no per-item queue name; the queue is the single positional argument (InvoiceQueue above) shared by the whole batch.
--commit-type steuert, was passiert, wenn die Validierung einer Zeile fehlschlägt: ProcessAllIndependently (Standard), StopOnFirstFailure oder AllOrNothing.
Überprüfen Sie fehlgeschlagene Elemente
uip or queue-items list --folder-path Shared \
--queue-name InvoiceQueue \
--status Failed \
--output-filter "Data[].{key:uniqueKey, ref:reference, reason:processingException}"
uip or queue-items list --folder-path Shared \
--queue-name InvoiceQueue \
--status Failed \
--output-filter "Data[].{key:uniqueKey, ref:reference, reason:processingException}"
Verwenden Sie queue-items get-history für ein einzelnes uniqueKey , um den vollständigen Statusübergangsverlauf anzuzeigen – nützlich für die Diagnose von Wiederholungsschleifen.
Fehlgeschlagene Elemente zur Wiederholung markieren
uip or queue-items set-review-status Retried \
"<queue-item-key-1>" "<queue-item-key-2>"
uip or queue-items set-review-status Retried \
"<queue-item-key-1>" "<queue-item-key-2>"
set-review-status nimmt eine von Retried, Abandoned, Deleted.
Auslöser
Listen Sie Trigger in einem Ordner auf
uip or triggers list --type time --folder-path Shared --enabled \
--output-filter "Data[].{name:name, cron:startProcessCron, enabled:isEnabled}"
uip or triggers list --type time --folder-path Shared --enabled \
--output-filter "Data[].{name:name, cron:startProcessCron, enabled:isEnabled}"
Drei Triggertypen: time, queue und api. Übergeben Sie --type bei jedem Verb (standardmäßig time). API-Trigger haben einen Mandanten-Scope – lassen Sie --folder-path weg.
Erstellen Sie einen Zeittrigger
RELEASE_KEY=$(uip or processes list --folder-path Shared --name InvoiceProcessing \
--output-filter "Data[0].Key" --output plain)
uip or triggers create --type time \
--name NightlyInvoices \
--release-key "$RELEASE_KEY" \
--runtime-type Unattended \
--job-priority Normal \
--folder-path Shared \
--cron "0 0 2 * * ?" \
--time-zone UTC
RELEASE_KEY=$(uip or processes list --folder-path Shared --name InvoiceProcessing \
--output-filter "Data[0].Key" --output plain)
uip or triggers create --type time \
--name NightlyInvoices \
--release-key "$RELEASE_KEY" \
--runtime-type Unattended \
--job-priority Normal \
--folder-path Shared \
--cron "0 0 2 * * ?" \
--time-zone UTC
Der Wert --cron verwendet das 6-Feld-Format (sec min hour dayOfMonth month dayOfWeek) von Quartz, nicht das Standard-CRON. "0 0 2 * * ?" ist „jeden Tag um 02:00“.
Aktivieren oder deaktivieren Sie einen Trigger
There is no dedicated enable/disable command — toggle a trigger through update:
uip or triggers update <trigger-key> --type time --folder-path Shared --disabled
uip or triggers update <trigger-key> --type time --folder-path Shared --enabled
uip or triggers update <trigger-key> --type time --folder-path Shared --disabled
uip or triggers update <trigger-key> --type time --folder-path Shared --enabled
Verwenden Sie triggers history , um einen Trigger zu diagnostizieren, der nicht ausgelöst wird – das Firewall-Protokoll zeigt fehlende Lizenzen, nicht verfügbare Maschinen und andere Upstream-Blöcke an.
Webhooks
Webhooks haben einen Mandanten-Scope. Einmal erstellen und der Webhook wird bei jedem übereinstimmenden Ereignis im Mandanten ausgelöst:
uip or webhooks create JobAlerts \
--url https://hooks.example.com/uipath \
--events "job.completed,job.faulted" \
--secret "$WEBHOOK_SECRET"
uip or webhooks create JobAlerts \
--url https://hooks.example.com/uipath \
--events "job.completed,job.faulted" \
--secret "$WEBHOOK_SECRET"
Listen Sie verfügbare Ereignistypen für einen Mandanten auf:
uip or webhooks event-types
uip or webhooks event-types
Testbereitstellung ohne Warten auf ein echtes Ereignis:
uip or webhooks ping <webhook-key>
uip or webhooks ping <webhook-key>
Bibliotheken
Bibliotheken haben einen Mandanten-Scope (nicht einen Ordner-Scope) – sie befinden sich im Mandantenfeed und werden von Paket-IDs wie MyLib:1.0.0 referenziert:
# Upload a new version
uip or libraries upload --file ./MyLib.1.0.0.nupkg
# See all versions of a package
uip or libraries versions MyLib
# Download a specific version
uip or libraries download MyLib:1.0.0 --destination ./MyLib.1.0.0.nupkg
# Upload a new version
uip or libraries upload --file ./MyLib.1.0.0.nupkg
# See all versions of a package
uip or libraries versions MyLib
# Download a specific version
uip or libraries download MyLib:1.0.0 --destination ./MyLib.1.0.0.nupkg
Schlüssel haben das Format PackageId:Version – keine GUID.
Tipps zum Skripting
- Übergeben Sie immer
--output-filterwenn Sie einen einzelnen Wert in eine Variable einfügen. Es vermeidet zerbrechlichejq-Aufrufe und validiert zur CLI-Parse-Zeit – siehe Skriptingmuster. - Listenverbesserungen geben paginierte Ergebnisse zurück –
--limit/--offsetin den meisten,--continuation-tokenin Bucket-Dateien. Leere Ergebnisse (null Zeilen inData) beenden0immer noch – die Listenabfrage erfolgreich; nichts übereinstimmte. - Die meisten Verben zum Aktualisieren/Löschen sind ordnerübergreifend – die Flag-Tabelle im Abschnitt jedes Verbs von
uip orgibt dies explizit an („Ordnerübergreifend“). Nurcreateund die Liste benötigen den Ordner-Scope auf diesen Ressourcen.
Siehe auch
uip orReferenz – die autoritative Verb-für-Verb-Flag-Liste. Jedes Snippet auf dieser Seite ist zurück zum entsprechenden Abschnitt.uip solution deploy config link– Binden Sie die deklarierte Ressource einer Lösung an eine, die Sie mituip orerstellt haben.- Skriptingmuster – Abruf, Wiederholung beim Beenden
2, idempotente Pipelines. - So: Packen und Veröffentlichen einer Lösung – der alternative Pfad für Ressourcen, die mit einem Paket ausgeliefert werden.
- Konventionen, die Sie zuerst kennen müssen
- Assets
- Bereitstellung von Assets aus einer CSV-Datei massenweise
- Assets des Typs Zugangsdaten
- Freigeben von Assets über Ordner hinweg
- Buckets und Bucket-Dateien
- Laden Sie eine lokale Datei hoch
- Laden Sie eine Datei herunter
- Auflisten und paginieren
- Vorsignierte URLs
- Warteschlangen und Warteschlangenelemente
- Warteschlange erstellen
- Fügen Sie ein einzelnes Arbeitselement hinzu
- Massenhinzufügen aus einer Datei
- Überprüfen Sie fehlgeschlagene Elemente
- Fehlgeschlagene Elemente zur Wiederholung markieren
- Auslöser
- Listen Sie Trigger in einem Ordner auf
- Erstellen Sie einen Zeittrigger
- Aktivieren oder deaktivieren Sie einen Trigger
- Webhooks
- Bibliotheken
- Tipps zum Skripting
- Siehe auch