UiPath Documentation
uipath-cli
latest
false
Importante :
Este conteúdo foi traduzido com auxílio de tradução automática. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Guia do usuário da UiPath CLI

Como fazer: gerenciar recursos do Orchestrator

A ferramenta uip resource é a superfície CRUD de uso geral sobre os recursos de runtime do Orchestrator: ativos, buckets (e arquivos dentro deles), bibliotecas, filas (e itens), gatilhos e webhooks. Esta página coleta as tarefas que aparecem diariamente — criação de ativos em massa, movimentação de arquivos para dentro e para fora de buckets, envio de trabalho de fila, inspeção de gatilhos — como fragmentos que podem ser copiados.

A lista completa de sinalizadores para cada subcomando está na página de referência uip resource . Esta página abrange os padrões de uso comuns.

Observação:

uip resource é diferente de uip solution resource. A primeira é a superfície CRUD no Orchestrator (esta página). O último inspeciona as declarações de recursos locais dentro de uma solução .uipx . Em caso de dúvida, consulte o prefixo: uip solution resource … lê somente seu disco; uip resource … sempre chama o Orchestrator.

Convenções que você precisa conhecer primeiro

Antes que qualquer fragmento funcione:

  • Autenticação. Cada uip resource chama o Orchestrator. Execute uip login primeiro. Passe --tenant <name> (curto -t) em qualquer verbo para substituir o tenant da sessão para uma única chamada.
  • Escopo de pastas. Ativos, buckets, filas, itens de fila e gatilhos de tempo/fila têm escopo de pasta — transmita --folder-path (por exemplo Shared) ou --folder-key (GUID). Bibliotecas, gatilhos de API e webhooks têm o escopo de tenant e rejeitam os sinalizadores de pastas.
  • Chaves. Listar GUIDs de retorno de verbos (key, identifier, uniqueKey). Passe-os para get, update e delete. Os campos numéricos id são internos; não os passe para comandos.
  • JSON é a saída padrão. Cada fragmento abaixo depende disso; consulte Formatos de saída.

Ativos

Implantar ativos em massa a partir de um CSV

Essa é a tarefa mais comum "gerenciar meus segredos e configuração". Dado um CSV como:

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

Faça loop sobre ele com bash simples + uip resource assets create:

#!/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 resource 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 resource assets create "$name" "$value" \
    --folder-path "$folder" \
    --type "$type"
done

Uma nova execução na mesma pasta falhará em duplicatas. Duas maneiras de lidar com isso:

  • Padrão de upsert. Listar primeiro, depois create ou update por linha:

    tail -n +2 ./assets.csv | while IFS=, read -r name value type folder; do
      existing=$(uip resource assets list --folder-path "$folder" --name "$name" \
        --output-filter "Data[?name=='$name'] | [0].key" --output plain)
    
      if [ -n "$existing" ] && [ "$existing" != "null" ]; then
        uip resource assets update "$existing" "$value"
      else
        uip resource assets create "$name" "$value" --folder-path "$folder" --type "$type"
      fi
    done
    tail -n +2 ./assets.csv | while IFS=, read -r name value type folder; do
      existing=$(uip resource assets list --folder-path "$folder" --name "$name" \
        --output-filter "Data[?name=='$name'] | [0].key" --output plain)
    
      if [ -n "$existing" ] && [ "$existing" != "null" ]; then
        uip resource assets update "$existing" "$value"
      else
        uip resource assets create "$name" "$value" --folder-path "$folder" --type "$type"
      fi
    done
    
  • Padrão de implantação da solução. Para conjuntos de ativos que são enviados junto com um pacote, declare-os no manifesto da solução e use uip solution deploy run --config-file — esse caminho é idempotente por design. Consulte Como fazer: empacotar e publicar uma solução.

Ativos do tipo Credential

Os ativos Credential e Secret precisam de uma chave de armazenamento de credenciais:

# 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 resource 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 resource assets create ApiLogin "alice:s3cr3t" \
  --folder-path Shared \
  --type Credential \
  --credential-store-key "$STORE_KEY"

Os valores de credencial e segredo nunca são retornados por list ou get; use assets get-asset-value (que ainda precisa de um escopo de pasta) para ler o valor dinâmico ou chame por meio do robô.

Compartilhamento de ativos entre pastas

Crie uma vez em Shared e, em seguida, compartilhe para cada pasta que precisar dele:

ASSET_KEY=$(uip resource assets list --folder-path Shared --name ApiEndpoint \
  --output-filter "Data[0].key" --output plain)

for folder in Production Staging Development; do
  uip resource assets share "$ASSET_KEY" --folder-path "$folder"
done
ASSET_KEY=$(uip resource assets list --folder-path Shared --name ApiEndpoint \
  --output-filter "Data[0].key" --output plain)

for folder in Production Staging Development; do
  uip resource assets share "$ASSET_KEY" --folder-path "$folder"
done

Revogar com unshare. Consulte Ativos para obter a lista completa de verbos.

Buckets e arquivos de bucket

Carregar um arquivo local

BUCKET_KEY=$(uip resource buckets list --folder-path Shared \
  --output-filter "Data[?name=='invoices'] | [0].key" --output plain)

uip resource bucket-files write "$BUCKET_KEY" "inbox/invoice-001.pdf" \
  --folder-path Shared \
  --file ./invoice-001.pdf
BUCKET_KEY=$(uip resource buckets list --folder-path Shared \
  --output-filter "Data[?name=='invoices'] | [0].key" --output plain)

uip resource bucket-files write "$BUCKET_KEY" "inbox/invoice-001.pdf" \
  --folder-path Shared \
  --file ./invoice-001.pdf

O caminho dentro do bucket (inbox/invoice-001.pdf) é o segundo argumento para write; --file é o caminho local a ser carregado. O tipo de conteúdo é detectado automaticamente; passe --content-type para substituir.

Baixar um arquivo

uip resource bucket-files read "$BUCKET_KEY" "reports/summary.csv" \
  --folder-path Shared \
  --destination ./summary.csv
uip resource bucket-files read "$BUCKET_KEY" "reports/summary.csv" \
  --folder-path Shared \
  --destination ./summary.csv

--destination, o conteúdo é transmitido para stdout — útil para pipeline em um processador.

Listar e paginar

# First page
uip resource bucket-files list "$BUCKET_KEY" --folder-path Shared

# The response carries a continuationToken — pass it back to fetch the next page
uip resource bucket-files list "$BUCKET_KEY" --folder-path Shared \
  --continuation-token "<token-from-previous-response>"
# First page
uip resource bucket-files list "$BUCKET_KEY" --folder-path Shared

# The response carries a continuationToken — pass it back to fetch the next page
uip resource bucket-files list "$BUCKET_KEY" --folder-path Shared \
  --continuation-token "<token-from-previous-response>"

As listagens de arquivos do bucket são o único recurso na CLI que usa um token de continuação em vez da paginação de deslocamento — os outros verbos da lista levam --limit / --offset.

URLs pré-assinados

Se um robô ou serviço externo precisar de acesso direto ao blob sem passar pela CLI:

uip resource bucket-files get-upload-url "$BUCKET_KEY" "inbox/incoming.pdf" \
  --folder-path Shared --expiry-in-minutes 30

uip resource bucket-files get-download-url "$BUCKET_KEY" "reports/summary.csv" \
  --folder-path Shared --expiry-in-minutes 30
uip resource bucket-files get-upload-url "$BUCKET_KEY" "inbox/incoming.pdf" \
  --folder-path Shared --expiry-in-minutes 30

uip resource bucket-files get-download-url "$BUCKET_KEY" "reports/summary.csv" \
  --folder-path Shared --expiry-in-minutes 30

Ambos retornam um URL com limite de tempo definido para o caminho do arquivo único.

Filas e itens de filas

Crie uma fila

uip resource queues create InvoiceQueue \
  --folder-path Shared \
  --max-retries 3 \
  --retention-period 90
uip resource queues create InvoiceQueue \
  --folder-path Shared \
  --max-retries 3 \
  --retention-period 90

Lista completa de sinalizadores — --auto-retry, --enforce-unique-reference, --encrypted, configurações de retenção — na referência de filas.

Adicionar um único item de trabalho

uip resource queue-items add InvoiceQueue \
  --folder-path Shared \
  --specific-content '{"InvoiceId":"INV-001","Amount":1500}' \
  --priority High
uip resource queue-items add InvoiceQueue \
  --folder-path Shared \
  --specific-content '{"InvoiceId":"INV-001","Amount":1500}' \
  --priority High

--specific-content a carga do JSON que o robô lerá.

Adicionar de um arquivo em massa

cat > ./items.json <<'EOF'
[
  {"Name": "InvoiceQueue", "Priority": "Normal", "SpecificContent": {"InvoiceId":"INV-001"}},
  {"Name": "InvoiceQueue", "Priority": "Normal", "SpecificContent": {"InvoiceId":"INV-002"}}
]
EOF

ITEMS=$(jq -c . ./items.json)
uip resource queue-items bulk-add InvoiceQueue \
  --folder-path Shared \
  --queue-items "$ITEMS" \
  --commit-type StopOnFirstFailure
cat > ./items.json <<'EOF'
[
  {"Name": "InvoiceQueue", "Priority": "Normal", "SpecificContent": {"InvoiceId":"INV-001"}},
  {"Name": "InvoiceQueue", "Priority": "Normal", "SpecificContent": {"InvoiceId":"INV-002"}}
]
EOF

ITEMS=$(jq -c . ./items.json)
uip resource queue-items bulk-add InvoiceQueue \
  --folder-path Shared \
  --queue-items "$ITEMS" \
  --commit-type StopOnFirstFailure

--commit-type controla o que acontece quando uma linha falha na validação: ProcessAllIndependently (padrão), StopOnFirstFailure ou AllOrNothing.

Inspecionar itens com falha

uip resource queue-items list --folder-path Shared \
  --queue-name InvoiceQueue \
  --status Failed \
  --output-filter "Data[].{key:uniqueKey, ref:reference, reason:processingException}"
uip resource queue-items list --folder-path Shared \
  --queue-name InvoiceQueue \
  --status Failed \
  --output-filter "Data[].{key:uniqueKey, ref:reference, reason:processingException}"

Use queue-items get-history em um único uniqueKey para ver seu histórico de transição de estado completo — útil para diagnosticar loops de nova tentativa.

Marcar itens com falha para nova tentativa

uip resource queue-items set-review-status Retried \
  "<queue-item-key-1>" "<queue-item-key-2>"
uip resource queue-items set-review-status Retried \
  "<queue-item-key-1>" "<queue-item-key-2>"

set-review-status fica com um dos Retried, Abandoned, Deleted.

Gatilhos

Listar gatilhos em uma pasta

uip resource triggers list --type time --folder-path Shared --enabled \
  --output-filter "Data[].{name:name, cron:startProcessCron, enabled:isEnabled}"
uip resource triggers list --type time --folder-path Shared --enabled \
  --output-filter "Data[].{name:name, cron:startProcessCron, enabled:isEnabled}"

Três tipos de gatilho: time, queue e api. Passe --type em cada verbo (ele volta para time). Os gatilhos de API têm o escopo de tenant — omita --folder-path.

Criar um gatilho de tempo

RELEASE_KEY=$(uip or processes list --folder-path Shared --name InvoiceProcessing \
  --output-filter "Data[0].Key" --output plain)

uip resource 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 resource 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

O valor --cron usa o formato de 6 campos do Quartz (sec min hour dayOfMonth month dayOfWeek), não o cron padrão. "0 0 2 * * ?" é "todos os dias às 02:00".

Habilitar ou desabilitar um gatilho

uip resource triggers enable <trigger-key> --type time --folder-path Shared
uip resource triggers disable <trigger-key> --type time --folder-path Shared
uip resource triggers enable <trigger-key> --type time --folder-path Shared
uip resource triggers disable <trigger-key> --type time --folder-path Shared

Use triggers history para diagnosticar um gatilho que não está disparando — o log de disparo revela licenças ausentes, máquinas indisponíveis e outros blocos upstream.

Webhooks

Os webhooks têm o escopo de tenant. Crie uma vez e o webhook é acionado em cada evento correspondente no tenant:

uip resource webhooks create --name JobAlerts \
  --url https://hooks.example.com/uipath \
  --events "job.completed,job.faulted" \
  --secret "$WEBHOOK_SECRET"
uip resource webhooks create --name JobAlerts \
  --url https://hooks.example.com/uipath \
  --events "job.completed,job.faulted" \
  --secret "$WEBHOOK_SECRET"

Liste os tipos de eventos disponíveis para um tenant:

uip resource webhooks event-types
uip resource webhooks event-types

Teste a entrega sem esperar um evento real:

uip resource webhooks ping <webhook-key>
uip resource webhooks ping <webhook-key>

Bibliotecas

As bibliotecas têm o escopo de tenant (não de pasta) — elas residem no feed do tenant e são referenciadas por IDs de pacote como MyLib:1.0.0:

# Upload a new version
uip resource libraries upload --file ./MyLib.1.0.0.nupkg

# See all versions of a package
uip resource libraries versions MyLib

# Download a specific version
uip resource libraries download MyLib:1.0.0 --destination ./MyLib.1.0.0.nupkg
# Upload a new version
uip resource libraries upload --file ./MyLib.1.0.0.nupkg

# See all versions of a package
uip resource libraries versions MyLib

# Download a specific version
uip resource libraries download MyLib:1.0.0 --destination ./MyLib.1.0.0.nupkg

As chaves assumem a forma PackageId:Version — não um GUID.

Dicas de script

  • Sempre passe --output-filter ao fornecer um único valor a uma variável. Evita invocações frágeis jq e valida no tempo de análise CLI — consulte Padrões de script.
  • Os verbos de lista retornam resultados paginados--limit / --offset no máximo, --continuation-token em arquivos do bucket. Resultados vazios (zeras linhas em Data) ainda saem de 0 — a consulta da lista foi bem-sucedida; não há correspondências.
  • A maioria dos verbos de atualização/exclusão é entre pastas — a tabela de sinalizadores na seção de cada verbo de uip resource diz isso explicitamente ("Pasta cruzada"). Apenas create e lista precisam do escopo da pasta nesses recursos.

Veja também

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades