- Introdução
- Studio
- Orchestrator
- Testing Robots
- Test Manager
- Integrações CI/CD
Tarefas de trabalho
Seu pipeline é composto de diferentes etapas que, por sua vez, podem ser divididas em trabalhos. Para cada trabalho, você pode configurar as etapas para incluir as tarefas da UiPath, incluídas com a Integração da UiPath para Azure DevOps.
Folder not found
é exibida e a tarefa não é executada. Saiba mais sobre a remoção de pastas clássicas aqui.
Para preparar seu ambiente, consulte Pré-requisitos da extensão do Azure DevOps.
Antes de começar a executar tarefas no seu pipeline, considere o seguinte:
- Você precisa executar tarefas UiPath apenas em agentes de compilação baseados no Windows.
- Configure a conexão de serviço do UiPath Orchestrator.
- Os recursos de teste exigem o Orchestrator na versão 2020.4 ou superior.
- Se você usa uma versão local do Orchestrator com HTTPS, importe o certificado SSL para garantir que as chamadas HTTPS para o Orchestrator sejam confiáveis.
A extensão Azure DevOps vem com uma CLI interna (interface de linha de comando) específica para UiPath.
Quando você executa o agente de compilação, a CLI se comunica com o Orchestrator e permite que você execute suas tarefas de trabalho.
Agent.ToolsDirectory
(cache do Azure) ao executá-la pela primeira vez.
Agent.ToolsDirectory
para concluir a execução.
Agent.ToolsDirectory
(cache do Azure), o sistema a baixará automaticamente do feed público do NuGet. Um requisito para isso é que o feed público do NuGet não seja bloqueado por um firewall e possa ser acessado de seu agente de compilação.
Agent.ToolsDirectory
, usando a tarefa Instalar plataforma.
Para definir um procedimento de automação no seu pipeline, você precisa adicionar e configurar tarefas individuais no pool do agente.
- No Azure DevOps, acesse Pipelines.
- Crie um novo pipeline ou edite um existente.
- Adicione um trabalho ao pool do agente.
-
Procure uma das seguintes tarefas:
- UiPath Run Job
- UiPath Manage Assets
- Plataforma de instalação UiPath
- UiPath Pack
- UiPath Deploy
- UiPath Test
- Clique em Adicionar e configure a tarefa.
- Reinicie as tarefas no pool do agente se necessário e, em seguida, salve seu pipeline.
Você pode usar essa tarefa para executar um processo que já foi implantado em uma instância do Orchestrator. Para obter mais informações, consulte Processos e Trabalhos.
Use a tabela a seguir para configurar as entradas do UiPath Run Job.
Entrada | Description |
---|---|
Nome da exibição (obrigatório) | Insira um nome para a sua tarefa. |
Conexão do Orchestrator (obrigatório) | Configure a conexão de serviço para acessar os serviços do UiPath Orchestrator. Você pode configurar uma conexão apenas para esta etapa ou usar uma conexão global existente. Para obter mais informações, consulte Configuração da conexão de serviço do UiPath Orchestrator. |
Processo (obrigatório) | O processo é a versão do pacote vinculado a um tipo específico de pasta. Você precisa configurar essa entrada com base no tipo de pasta na qual o processo está implantado. Para pastas modernas, a entrada é o nome do processo listado na aba Processos . Para descobrir o nome do processo, abra o Orchestrator, abra sua pasta e navegue até Automações > Processos.Para pastas clássicas (obsoletas), a entrada é o nome do processo, seguido por um caractere de sublinhado e depois o nome do ambiente , onde os Robôs são hospedados. Como um exemplo para essa convenção de nomenclatura, considere as seguintes variáveis: O nome do processo éTestAutomation . O nome do ambiente é Production .O nome do seu processo para essa entrada é TestAutomation_Production .
|
Parâmetros de entrada | Especifique o caminho de arquivo como um arquivo de entrada JSON, como Input\jobParameters.json .
Exemplo de formato de arquivo JSON:
|
Prioridade | Selecione a prioridade da execução do trabalho se quiser definir uma ordem específica no nível de processo. Por padrão, essa entrada é definida como Normal .
|
Pasta do Orchestrator (obrigatório) | Especifique a pasta em que o processo está sendo implantado. Para as pastas clássicas, você pode usar nomes de robôs específicos. Para as modernas, é possível utilizar nomes específicos de usuários e máquinas.
Para inserir subpastas, certifique-se de inserir o nome da pasta pai e o nome da subpasta. Por exemplo, use AccountingTeam\TeamJohn. |
Strategy | Especifique a estratégia de execução para alocação dinâmica ou especifica por robô. Para trabalhos alocados dinamicamente, o processo é executado na conta e máquina que estiverem disponíveis. De maneira alternativa, você pode escolher trabalhos específicos por robô. |
Tipo de Trabalho | Disponível apenas em pastas modernas. Escolha o modelo de licença do Runtime sob o qual o trabalho deve ser executado. Para obter mais informações, consulte Licenciamento de Robots. |
Número de trabalhos | Disponível apenas para estratégia de alocação dinâmica. Especifique o número de vezes que deseja executar esta tarefa. Por padrão, esta entrada é definida como 1 .
|
Usuário | Disponível apenas em pastas modernas juntamente com uma estratégia de alocação dinâmica. Adicione o nome de usuário da máquina. Por exemplo, um usuário local para essa entrada é MachineName\UserName .
|
Máquina | Disponível apenas em pastas modernas juntamente com uma estratégia de alocação dinâmica. O nome da máquina que realiza a execução. |
Saída | Os resultados são coletados em um arquivo JSON. Você precisa especificar o caminho dos resultados do trabalho (por exemplo, Output\testResults.json ). Se você deixar essa entrada em branco, a saída padrão será enviada ao diretório de staging de artefato sob o nome UiPathResults.json .
|
Tempo limite | Especifique o número de segundos para aguardar antes que a solicitação expire. |
A tarefa falha quando um trabalho falha | Selecione essa entrada se quiser definir a tarefa como falha quando pelo menos um trabalho falhar. Essa entrada é selecionada por padrão. |
Aguarde a conclusão do trabalho | Aguarde a execução do trabalho ser concluída. Essa entrada é selecionada por padrão. |
Nível de trace | Selecione o nível de log da lista suspensa. |
robotsIds | Lista de nomes de robôs específicos, separados por vírgula. |
- task: UiPathRunJob@2
displayName: 'Start ProcessProject'
inputs:
#orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator
#processName: 'ProccessProject_CI-Pipeline' # The name of the process
#parametersFilePath: 'Input\\jobParameters.json' # json file with input values if the process requires them
#priority: 'Low' # Options 'Low', 'Normal', 'High'
#folderName: 'MyFolder' # Specify the folder to deploy to. For clasic folders, you can use specific robot names. For modern folders, you can use specific user and machine names.
#strategy: 'Dynamically' # Options 'Specific', 'Dynamically'
#jobCount: 1 # The number of job runs. (default 1) - used if strategy is 'Dynamically'
#user: 'MyUser'
#machine: 'machine'
#robotsIds: 'robot1, robot2'
#resultFilePath: 'Output\\testResults.json'
#timeout: 3600
#failWhenJobFails: false
#waitForJobCompletion: false,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
- task: UiPathRunJob@2
displayName: 'Start ProcessProject'
inputs:
#orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator
#processName: 'ProccessProject_CI-Pipeline' # The name of the process
#parametersFilePath: 'Input\\jobParameters.json' # json file with input values if the process requires them
#priority: 'Low' # Options 'Low', 'Normal', 'High'
#folderName: 'MyFolder' # Specify the folder to deploy to. For clasic folders, you can use specific robot names. For modern folders, you can use specific user and machine names.
#strategy: 'Dynamically' # Options 'Specific', 'Dynamically'
#jobCount: 1 # The number of job runs. (default 1) - used if strategy is 'Dynamically'
#user: 'MyUser'
#machine: 'machine'
#robotsIds: 'robot1, robot2'
#resultFilePath: 'Output\\testResults.json'
#timeout: 3600
#failWhenJobFails: false
#waitForJobCompletion: false,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
Você pode usar essa tarefa para implantar, atualizar ou excluir ativos na sua instância do Orchestrator.
Os tipos de ativo a seguir são compatíveis:
Text
– Armazena apenas strings (não é necessário adicionar aspas)Boolean
- Suporta valores de verdadeiro ou falsoInteger
- Armazena apenas números inteirosCredential
- Contém nomes de usuário e senhas que o Robô requer para executar processos específicos. Para esse tipo de ativo, você precisa codificar o nome de usuário e a senha usando::
para separar os dois campos.
name,type,value, description asset_1_name,text,asset_value, asset_2_name,integer,123,asset_3_name,boolean,false, this is an asset description asset_4_name,credential,"username::password",
name,type,value, description asset_1_name,text,asset_value, asset_2_name,integer,123,asset_3_name,boolean,false, this is an asset description asset_4_name,credential,"username::password",
Para obter mais informações, consulte Ativos do Orchestrator.
Use a tabela a seguir para configurar as entradas do UiPath Manage Assets.
Argumento | Description |
---|---|
Nome da exibição (obrigatório) | Insira um nome para a sua tarefa. |
Conexão do Orchestrator (obrigatório) | Configure a conexão de serviço para acessar os serviços do UiPath Orchestrator. Você pode configurar uma conexão apenas para esta etapa ou usar uma conexão global existente. Para obter mais informações, consulte Configuração da conexão de serviço do UiPath Orchestrator. |
Pasta do Orchestrator (obrigatório) | Especifique a pasta em que o processo está sendo implantado. Para as pastas clássicas, você pode usar nomes de robôs específicos. Para as modernas, é possível utilizar nomes específicos de usuários e máquinas.
Para inserir subpastas, certifique-se de inserir o nome da pasta pai e o nome da subpasta. Por exemplo, use AccountingTeam\TeamJohn. |
Escolher ação de ativo (obrigatório) | Selecione uma opção da lista suspensa. |
Arquivo CSV de ativos (obrigatório) | Adicione o caminho do arquivo CSV. Você pode usar o mesmo arquivo para as ações de ativos Implantar e Atualizar. Considerações:
(Opcional) Você pode definir uma descrição Para cada ativo usando a seguinte sintaxe:
type, value ,description |
Nível de trace | Selecione o nível de log da lista suspensa. |
- task: UiPathAssets@2
displayName: 'Deploy/Update assets'
inputs:
#orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator
#assetActionType: 'Deploy' # Options: Deploy, Delete
#csvFile: 'assets_deploy.csv' # the path to the csv file containing the assets description,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
- task: UiPathAssets@2
displayName: 'Deploy/Update assets'
inputs:
#orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator
#assetActionType: 'Deploy' # Options: Deploy, Delete
#csvFile: 'assets_deploy.csv' # the path to the csv file containing the assets description,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
A tarefa UiPathPack permite empacotar um projeto existente da UiPath em um pacote NuGet.
Use a tabela a seguir para configurar as entradas do UiPath Pack.
Argumento | Description |
---|---|
Nome da exibição (obrigatório) | Insira um nome para a sua tarefa. |
Escolher método de versionamento (obrigatório) | Você pode selecionar uma versão gerada automaticamente, usar a versão do projeto ou definir uma nova versão. Para obter mais informações, consulte Versões do pacote. |
Versão (obrigatório) | Disponível apenas em pastas modernas juntamente com uma estratégia de alocação dinâmica. A especificação da versão do pacote fornece a possibilidade de rastrear os pacotes criados e sua origem com mais eficiência. Por exemplo, o padrão do assembly da Microsoft pode ser utilizado para criar a versão do pacote NuGet: [Principal].[Secundária].[NúmerodaCompilação].[NúmerodeRevisão].
As opções disponíveis são:
|
Caminho do(s) projeto(s) (obrigatório) | Selecione a localização do projeto que será empacotado. Pode ser um caminho direto para um arquivo project.json ou um diretório com um, ou vários projetos. Nesse último caso, cada projeto de nível um é empacotado individualmente. |
Escolher tipo de saída (obrigatório apenas para o versionamento manual) | Defina um tipo de projeto para o projeto que será empacotado. Se você definir None , o tipo de projeto será extraído do arquivo JSON do projeto. Os seguintes tipos de projeto são suportados: 'Processo', 'Biblioteca', 'Testes', 'Objetos', 'Nenhum'.
|
Conexão do Orchestrator (obrigatório) | Configure a conexão de serviço para acessar os serviços do UiPath Orchestrator. Você pode configurar uma conexão apenas para esta etapa ou usar uma conexão global existente. Para obter mais informações, consulte Configuração da conexão de serviço do UiPath Orchestrator. |
Output Path | Defina um caminho da pasta em que o pacote será colocado. |
Executar análise de fluxo de trabalho | Selecione essa opção para aplicar regras de análise de fluxo de trabalho no seu projeto de automação (por exemplo: gerar falha em trabalhos em caso de erros). Por padrão, essa opção não fica ativada. Para obter mais informações, consulte Regras do analisador de fluxo de trabalho dos testes de aplicativos. |
Nível de trace | Selecione o nível de log da lista suspensa. |
- task: UiPathPack@2
inputs:
#versionType: AutoVersion # Options: AutoVersion, CurrentVersion, ManualVersion
#version: '1.0.0' # Required when versionType == ManualVersion
#projectJsonPath: '$(Build.SourcesDirectory)\MyFirstProcess'
#outputPath: '$(Build.ArtifactStagingDirectory)\Packages\MyFirstProcess'
#outputType: 'None' # Options: Process, Library, Tests, Objects, None
#runWorkflowAnalysis: 'False'
#orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
- task: UiPathPack@2
inputs:
#versionType: AutoVersion # Options: AutoVersion, CurrentVersion, ManualVersion
#version: '1.0.0' # Required when versionType == ManualVersion
#projectJsonPath: '$(Build.SourcesDirectory)\MyFirstProcess'
#outputPath: '$(Build.ArtifactStagingDirectory)\Packages\MyFirstProcess'
#outputType: 'None' # Options: Process, Library, Tests, Objects, None
#runWorkflowAnalysis: 'False'
#orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
A tarefa UiPath Deploy permite implantar um pacote UiPath NuGet no UiPath Orchestrator.
Certifique-se de que sua rede permite o acesso ao seguinte feed de pacote do NuGet:
- https://api.nuget.org/v3/index.json
- https://uipath.pkgs.visualstudio.com/_packaging/nuget-packages/nuget/v3/index.json
- https://uipath.pkgs.visualstudio.com/Public.Feeds/_packaging/UiPath-Internal/nuget/v3/index.json
- https://www.myget.org/F/workflow
- http://www.myget.org/F/uipath
- https://www.myget.org/F/uipath-dev/api/v3/index.json
Use a tabela a seguir para configurar as entradas do UiPath Deploy.
Argumento | Description |
---|---|
Nome da exibição (obrigatório) | Insira um nome para a sua tarefa. |
Conexão do Orchestrator (obrigatório) | Configure a conexão de serviço para acessar os serviços do UiPath Orchestrator. Você pode configurar uma conexão apenas para esta etapa ou usar uma conexão global existente. Para obter mais informações, consulte Configuração da conexão de serviço do UiPath Orchestrator. |
Pacote(s) (obrigatório) | Defina o feed para seus pacotes NuGet da UiPath. |
Criar processo automaticamente | Selecione esta opção se desejar implantar um pacote sem criar um processo. A opção é selecionada por padrão. Se selecionada, você precisa configurar o parâmetro Entry Point Path. |
Pasta do Orchestrator (obrigatório) | Especifique a pasta em que o processo está sendo implantado. Para pastas clássicas (obsoletas), você pode usar nomes de robôs específicos. Para as modernas, é possível utilizar nomes específicos de usuários e máquinas.
Para inserir subpastas, certifique-se de inserir o nome da pasta pai e o nome da subpasta. Por exemplo, use
AccountingTeam\TeamJohn .
|
Ambiente | (Opcional) Se você usa pastas clássicas (obsoletas), precisa definir o ambiente em que os pacotes serão implantados. Você pode usar esse campo para criar ou atualizar pacotes. Você pode usar o seguinte exemplo para adicionar seus ambientes a esse campo, separados por uma vírgula: testingEnvironment,productionEnvironment .
|
Caminho(s) do ponto de entrada (obrigatório) | Especifique caminhos de ponto de entrada para criar ou atualizar um processo. O caminho do ponto de entrada especifica o caminho do arquivo começando na raiz do projeto.Antes de configurar os caminhos do ponto de entrada, considere o seguinte: Os pontos de entrada estão disponíveis para o Orchestrator versão 21.4 ou superior (por exemplo 21.4.UiPathDeploy.entryPoints ). Para versões do Orchestrator inferiores a 21.4, você precisa inserir qualquer valor, pois o campo não deve ficar vazio. O ponto de entrada padrão é definido como Main.xaml . Vários pontos de entrada podem ser especificados como 'Main.xaml, EntryPoint2.xaml '. Para pastas clássicas (descontinuadas), você pode especificar apenas um ponto de entrada para cada ambiente. Para pastas aninhadas, você precisa especificar o caminho do arquivo, como a seguir:Folder01/Folder02/Main.xaml ou Folder01/Folder02/Entrypoint.xaml Para obter mais informações, consulte Pontos de entrada do orquestrador.
|
Nível de trace | Selecione o nível de log da lista suspensa. |
- task: UiPathDeploy@2
inputs:
#orchestratorConnection: # Service connection to UiPath Orchestrator
#packagesPath: '$(Build.ArtifactStagingDirectory)\Packages\ITAutomationProcess'
#folderName: 'ITAutomation'
#environments: 'AutomationRobots' # Optional,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
- task: UiPathDeploy@2
inputs:
#orchestratorConnection: # Service connection to UiPath Orchestrator
#packagesPath: '$(Build.ArtifactStagingDirectory)\Packages\ITAutomationProcess'
#folderName: 'ITAutomation'
#environments: 'AutomationRobots' # Optional,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
Normalmente, a tarefa UiPath Test executa um conjunto de testes existente no Orchestrator. Além disso, você pode usá-la para empacotar, implantar e executar casos de teste, especificando o caminho para um projeto de teste da UiPath. A última opção aparece no Orchestrator como um conjunto de testes transitório.
Depois que a tarefa termina a execução, os resultados do teste são carregados na aba Teste no Azure DevOps. Você pode especificar o caminho de saída dos resultados do teste em um formato JUnit.
Dependendo do resultado, a compilação será marcada como bem-sucedida (todos os casos de teste foram aprovados), ou com falha (pelo menos um caso de teste falhou).
Use a tabela a seguir para configurar as entradas do UiPath Test.
Argumento | Description |
---|---|
Nome da exibição (obrigatório) | Insira um nome para a sua tarefa. |
Escolha um método de execução de teste | Escolha o teste que você deseja executar: Executar conjunto de testes: especifique e execute um conjunto de testes existente no Orchestrator. Executar testes no projeto: especifique um projeto, implante o pacote e execute os casos de teste como parte de um conjunto de testes transitório. |
Conexão do Orchestrator (obrigatório) | Configure a conexão de serviço para acessar os serviços do UiPath Orchestrator. Você pode configurar uma conexão apenas para esta etapa ou usar uma conexão global existente. Para obter mais informações, consulte Configuração da conexão de serviço do UiPath Orchestrator. |
Parâmetros de entrada | Especifique o caminho do arquivo para um arquivo de entrada JSON, como Input\jobParameters.json . Especifique o argumento type se estiver criando novos argumentos de entrada no nível do conjunto de teste. Caso contrário, você pode usar name e value .
|
Conjunto de testes (obrigatório para o método Executar conjunto de testes) | O nome mostrado para o Conjunto de teste que você deseja executar. Certifique-se de que o Conjunto de teste inclua a versão mais recente dos Casos de teste.
Se o Conjunto de teste não estiver na pasta padrão, certifique-se de incluir o nome da pasta relevante antes dele. Por exemplo, use
AccountingTeam\TestSet .
|
Caminho do projeto de teste (obrigatório para o método Executar testes no projeto) | Especifique a localização do projeto de teste que será executado como parte de um conjunto de testes transitório. |
Ambiente (obrigatório para o método Executar testes no projeto) | Se você usa pastas clássicas (obsoletas), precisa definir o ambiente em que os pacotes serão implantados. Você pode usar esse campo para criar ou atualizar pacotes. Você pode usar o seguinte exemplo para adicionar seus ambientes a esse campo, separados por uma vírgula: testingEnvironment, productionEnvironment .
|
Pasta do Orchestrator (obrigatório) | Especifique a pasta em que o processo está sendo implantado. Para pastas clássicas (obsoletas), você pode usar nomes de robôs específicos. Para as modernas, é possível utilizar nomes específicos de usuários e máquinas.
Para inserir subpastas, certifique-se de inserir o nome da pasta pai e o nome da subpasta. Por exemplo, use
AccountingTeam\TeamJohn .
|
Caminho de saída dos resultados do teste | Especifique o caminho de saída dos resultados do teste no formato JUnit (por exemplo: Output\testResults.json ).
|
Tempo limite | Especifique o número de segundos para aguardar antes que a solicitação expire. |
Nível de trace | Selecione o nível de log da lista suspensa. |
Anexar logs do Robot | Selecione essa opção para anexar logs de nível INFO do Robô em execução. Por padrão, isso não é selecionado. Para obter mais informações, consulte Logs de Robots. |
-- task: UiPathTest@2
inputs:
#testTarget: TestProject # Options: TestProject, TestSet
#orchestratorConnection: # Service connection to UiPath Orchestrator
#testProjectPath: '$(Build.SourcesDirectory)\MobileAutomationTests' # Required only when testTarget = TestProject
#testSet: 'MobileAutomationTests' # Required only when testTarget = TestSet
#folderName: 'MobileAutomationTesting'
#environment: 'TestingRobots' # Required only when testTarget = TestProject and the folder is a classic folder
#testReportDestination: '$(Build.ArtifactStagingDirectory)\report.xml' # Optional
#timeout: 200 # Optional, default = 3600s,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None task: UiPathTest@2
-- task: UiPathTest@2
inputs:
#testTarget: TestProject # Options: TestProject, TestSet
#orchestratorConnection: # Service connection to UiPath Orchestrator
#testProjectPath: '$(Build.SourcesDirectory)\MobileAutomationTests' # Required only when testTarget = TestProject
#testSet: 'MobileAutomationTests' # Required only when testTarget = TestSet
#folderName: 'MobileAutomationTesting'
#environment: 'TestingRobots' # Required only when testTarget = TestProject and the folder is a classic folder
#testReportDestination: '$(Build.ArtifactStagingDirectory)\report.xml' # Optional
#timeout: 200 # Optional, default = 3600s,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None task: UiPathTest@2
- Visão geral
- Pré-requisitos
- Considerações
- Interface Command-Line
- Armazenando a CLI
- Adição de tarefas da UiPath ao pool do agente de pipeline
- UiPath Run Job
- Configuração
- Pipeline YAML
- UiPath Manage Assets
- Configuração
- Pipeline YAML
- UiPath Pack
- Configuração
- Pipeline YAML
- UiPath Deploy
- Configuração
- Pipeline YAML
- UiPath Test
- Configuração
- Pipeline YAML