Test Suite
2022,4
False
Image de fond de la bannière
Guide de l'utilisateur de Test Suite
Dernière mise à jour 28 févr. 2024

Plugin Jenkins

Cette extension vous permet de créer et de déployer des processus d'automatisation UiPath, ainsi que d'exécuter des cas de test automatisés UiPath.

Pour constituer un pack des projets créés avec UiPath Studio à partir de la version 2020.10, vous devez utiliser la version 2.1 ou une version ultérieure de cette extension.

Prérequis

  • Serveur Jenkins fonctionnant sous Windows ou Linux.
  • Au moins un esclave Jenkins s'exécutant sous Windows (requis pour l'exécution de l'étape).
  • Instance Orchestrator (les authentifications de base, fédérée ou cloud sont prises en charge).

    • Les fonctionnalités de test nécessitent Orchestrator version 2020.4 ou ultérieure.
    • Lorsque vous utilisez un Orchestrator sur site sous HTTPS, assurez-vous d'importer le certificat SSL afin que les appels HTTPS à Orchestrator puissent être approuvés.

Installation et activation du plugin

Le plugin Jenkins peut être installé à partir de n'importe quelle installation Jenkins connectée à Internet à l'aide de l'écran Plugin Manager.

Tâches (Jobs)

UiPath Run Job

L'étape post-génération de UiPath Run Job démarre un processus qui a déjà été déployé sur une instance Orchestrator. Dans Orchestrator version 2020.10, vous pouvez trouver les processus exécutés par cette tâche dans l'onglet Processus (Processes). Dans les versions d'Orchestrator 2021.10 et supérieures, vous pouvez trouver les processus exécutés par cette tâche dans Automatisations (Automations), sous Processus (Processes).



Configuration

Paramètre de tâche

Description

Processus (Process) (obligatoire)

Nom du processus. Vous pouvez prendre le nom du processus dans l'interface utilisateur d'Orchestrator.

Si le processus est déployé dans un dossier Moderne, cet argument doit être le Nom du processus dans l'onglet Processus (Processes). Si le processus est déployé dans un dossier classique, l'argument doit être formé par le nom du processus et l' environnement (par exemple : NAME: ProcessA ENVIRONMENT: Production ProcessName: ProcessA_Production ).

Paramètres

Chemin d'accès complet à un fichier d'entrée JSON. Ceci est utilisé lorsque le processus nécessite une entrée.

Priorité (Priority)

La priorité d’exécution de la tâche.

Strategy

Spécifiez la stratégie d’exécution de tâche, les tâches affectées de manière dynamique ou les tâches spécifiques au robot. parmi les options suivantes :

  • Allouer dynamiquement
  • Robots spécifiques

Type de tâche (disponible pour les dossiers modernes uniquement)

Choisir le modèle de licence du runtime sous lequel la tâche doit être exécutée.

Adresse Orchestrator

L'adresse de l'instance d'Orchestrator où vous exécuterez le processus.

Locataire dʹOrchestrator

Spécifiez le locataire Orchestrator.

Dossier Orchestrator

Spécifiez le dossier dans lequel le processus spécifié a été déployé.
Pour saisir des sous-dossiers, assurez-vous de saisir à la fois le nom du dossier parent et le nom du sous-dossier. Par exemple, utilisez AccountingTeam\TeamJohn.

Authentification

Pour l'authentification auprès d'Orchestrator, vous devez créer des informations d'identification dans Jenkins dès le départ. Il existe quatre options pour l'authentification :

(1)S’authentifier sur un système Orchestrator local à l’aide d’un nom d’utilisateur et d’un mot de passe

(2) Authentifiez-vous auprès d’un Cloud Orchestrator à l’aide d’un jeton de réactualisation (clé API).

(3) Authentifiez-vous auprès d’un Orchestrator sur site à l’aide de l’authentification d’application externe.

(4) Authentifiez-vous auprès d'un Orchestrator local à l'aide de l'authentification d'application externeauthentification d'application externe.

Chemin de sortie des résultats de tâche

Spécifiez le chemin de sortie des résultats de la tâche (par exemple, testResults.json ). Les résultats sont générés au format JSON.
En l’absence de spécification, les résultats sortent au format UiPathResults.json dans le répertoire d’artefacts Staging. La sortie est au format json.

Délai d'attente

Spécifiez le délai d’attente de l’exécution/des exécutions de tâches en secondes.

Échec d’échec de tâche

La tâche globale échoue lorsqu’au moins une tâche échoue. La valeur par défaut est Vrai.

Attendre l’achèvement de la tâche

Attendez l’achèvement de l’exécution/des exécutions de tâches. La valeur par défaut est Vrai.

Niveau de journalisation du traçage

Paramètre utilisé pour activer la journalisation du traçage à l'un des niveaux suivants :

  • Aucun (None)
  • Critique (Critical)
  • Erreur
  • Avertissement
  • Information
  • Détaillé. (La valeur par défaut est définie sur Aucun).

    Utile à des fins de débogage.

Nb de tâches

Le nombre d’exécutions de tâches. La valeur par défaut est 1.

Utilisateur (disponible pour les dossiers Modern uniquement)

Le nom de l’utilisateur. Il doit s’agir d’un utilisateur de machine, et non d’un utilisateur Orchestrator.

Pour les utilisateurs locaux, le format doit être NomMachine\NomUtilisateur.

Machine (disponible pour les dossiers Modern uniquement)

Nom de la machine.

Noms de robot

Liste de noms de robot spécifiques séparés par une virgule.

Exemple de pipeline

pipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('Build') {
        UiPathRunJob(
          credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
          failWhenJobFails: true,
          folderName: 'A_Classic',
          orchestratorAddress: 'https://testorchestrator.some-domain.com',
          orchestratorTenant: 'Default',
          parametersFilePath: '',
          priority: 'Low',
          processName: 'ProcessA_EnvB',
          resultFilePath: 'output.json',
          strategy: Dynamically(jobsCount: 1, machine: 'TestMachine', user: 'TestUser'), timeout: 3600, waitForJobCompletion: true, traceLoggingLevel: 'None'
        )
        UiPathRunJob(
          credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
          failWhenJobFails: true,
          folderName: 'A_Classic',
          orchestratorAddress: 'https://testorchestrator.some-domain.com',
          orchestratorTenant: 'Default',
          parametersFilePath: '',
          priority: 'Low',
          processName: 'ProcessA_EnvB',
          resultFilePath: 'output.json',
          strategy: Robot('robot1,robot2'),
          timeout: 1800,
          waitForJobCompletion: false,
          traceLoggingLevel: 'None'
        )
    }
  }
}pipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('Build') {
        UiPathRunJob(
          credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
          failWhenJobFails: true,
          folderName: 'A_Classic',
          orchestratorAddress: 'https://testorchestrator.some-domain.com',
          orchestratorTenant: 'Default',
          parametersFilePath: '',
          priority: 'Low',
          processName: 'ProcessA_EnvB',
          resultFilePath: 'output.json',
          strategy: Dynamically(jobsCount: 1, machine: 'TestMachine', user: 'TestUser'), timeout: 3600, waitForJobCompletion: true, traceLoggingLevel: 'None'
        )
        UiPathRunJob(
          credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
          failWhenJobFails: true,
          folderName: 'A_Classic',
          orchestratorAddress: 'https://testorchestrator.some-domain.com',
          orchestratorTenant: 'Default',
          parametersFilePath: '',
          priority: 'Low',
          processName: 'ProcessA_EnvB',
          resultFilePath: 'output.json',
          strategy: Robot('robot1,robot2'),
          timeout: 1800,
          waitForJobCompletion: false,
          traceLoggingLevel: 'None'
        )
    }
  }
}

UiPath Manage Assets

L' étape Gérer les ressources d'UiPath vous permet de déployer, de mettre à jour ou de supprimer des ressources sur une instance d'Orchestrator. Pour déployer des ressources, vous devez les décrire dans un fichier CSV comme celui de l'exemple ci-dessous encodé en uft-8 .
name,type,value,description
asset_1_name,text,asset_value,this is an test description   # we can have comments
asset_2_name,integer,123
asset_3_name,boolean,false
asset_4_name,credential,"username::password"name,type,value,description
asset_1_name,text,asset_value,this is an test description   # we can have comments
asset_2_name,integer,123
asset_3_name,boolean,false
asset_4_name,credential,"username::password"

Quatre types d'actifs sont disponibles :

  • Texte
  • Entier
  • Booléen
  • Identifiants Pour ce type de ressource, vous devez coder le nom d'utilisateur et le mot de passe en utilisant :: pour séparer les deux champs.


Configuration

Paramètre de tâche

Description

Action

Que faire des ressources fournies : déployer ou supprimer. Si une ressource déployée existe, elle sera mise à jour à la place.

Adresse Orchestrator

L'adresse de l'instance d'Orchestrator où vous allez déployer ou mettre à jour les ressources.

Locataire dʹOrchestrator

Spécifiez l’instance d’Orchestrator vers laquelle les ressources vont être déployées ou mises à jour.

Dossier Orchestrator

Spécifiez le dossier dans lequel les ressources seront déployées ou mises à jour.

Pour saisir des sous-dossiers, assurez-vous de saisir à la fois le nom du dossier parent et le nom du sous-dossier. Par exemple, utilisez AccountingTeam\TeamJohn.

Authentification

Pour l'authentification auprès d'Orchestrator, vous devez créer des informations d'identification dans Jenkins dès le départ. Il existe quatre options pour l'authentification :

(1)S’authentifier sur un système Orchestrator local à l’aide d’un nom d’utilisateur et d’un mot de passe

(2) Authentifiez-vous auprès d’un Cloud Orchestrator à l’aide d’un jeton de réactualisation (clé API).

(3) Authentifiez-vous auprès d’un Orchestrator sur site à l’aide de l’authentification d’application externe.

(4) Authentifiez-vous auprès d’un Orchestrator sur site à l’aide de l’authentification d’application externeauthentification d’application externe.

Chemin d’accès au fichier CSV

Chemin d'accès au fichier CSV contenant les détails de l'actif. Le même fichier peut être utilisé pour déployer ou mettre à jour les ressources, bien que le type ne soit pas requis pour les mises à jour.

Le champ type peut également être vide, mais la colonne doit être présente. Pour la suppression, seule la colonne name est utilisée, les autres colonnes peuvent donc être vides, mais elles doivent être présentes.
Vous pouvez définir une description facultative pour chaque ressource (par exemple : type , value , description ). Assurez-vous de supprimer tous les sauts de ligne, car chaque ligne est interprétée comme une nouvelle ressource.

Niveau de journalisation du traçage

Paramètre utilisé pour activer la journalisation du traçage à l'un des niveaux suivants :

  • Aucun (None)
  • Critique (Critical)
  • Erreur
  • Avertissement
  • Information
  • Détaillé. (La valeur par défaut est définie sur Aucun).

    Utile à des fins de débogage.

Exemple de pipeline

pipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('Build') {
        UiPathAssets (
            assetsAction: DeployAssets(), 
            credentials: Token(accountName: '', credentialsId: ''), 
            filePath: '${WORKSPACE}/test.csv', 
            folderName: 'Default', 
            orchestratorAddress: 'https://test-orchestrator.somedomain.com', 
            orchestratorTenant: 'Default',
            traceLoggingLevel: 'None'
        )
        UiPathAssets(
            assetsAction: DeleteAssets(),
            credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
            filePath: '${WORKSPACE}/test.csv',
            folderName: 'Default',
            orchestratorAddress: 'https://test-orchestrator.somedomain.com',
            orchestratorTenant: 'Default',
            traceLoggingLevel: 'None'
        )
    }
  }
}pipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('Build') {
        UiPathAssets (
            assetsAction: DeployAssets(), 
            credentials: Token(accountName: '', credentialsId: ''), 
            filePath: '${WORKSPACE}/test.csv', 
            folderName: 'Default', 
            orchestratorAddress: 'https://test-orchestrator.somedomain.com', 
            orchestratorTenant: 'Default',
            traceLoggingLevel: 'None'
        )
        UiPathAssets(
            assetsAction: DeleteAssets(),
            credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
            filePath: '${WORKSPACE}/test.csv',
            folderName: 'Default',
            orchestratorAddress: 'https://test-orchestrator.somedomain.com',
            orchestratorTenant: 'Default',
            traceLoggingLevel: 'None'
        )
    }
  }
}

UiPath Pack

Application : RPA

Type : tâche de génération

UiPath Pack est disponible dans les tâches et les pipelines standard, et vous permet de compresser un projet UiPath existant dans un package NuGet.



Configuration

Paramètre de tâche

Description

Choisir une méthode de contrôle de version

Les packages UiPath sont versionnés. Avec le pack UiPath, vous pouvez choisir entre 3 options différentes :

(1) Génération automatique

(2) Définir la version personnalisée

(3) Utilisez la version actuelle définie dans le projet.

Chemin d’accès au(x) projet(s)

Emplacement du/des projet(s) à compresser. Il peut s’agir d’un chemin direct vers un fichier project.json ou un répertoire contenant un ou plusieurs projets. Dans ce dernier cas, chaque projet de niveau un est compressé individuellement.

OutputFolder

Chemin d'accès au dossier dans lequel vous souhaitez créer le package.

Type de sortie

Le type de sortie du ou des projets. Il existe 5 options pour le type de projet (s) :

(1) Type de sortie du projet

(2) Compresser un projet de processus

(3) Compresser un projet de bibliothèque

(4) Compresser un projet de tests

(5) Pack d'un projet d'objets.

Exécuter l’analyse du workflow

Exécutez l'analyse du workflow avant l'emballage, en vérifiant le projet via des règles prédéfinies pour les violations. Échec de la tâche en cas d'erreurs. Par défaut, l'analyse n'est pas exécutée.

Niveau de journalisation du traçage

Paramètre utilisé pour activer la journalisation du traçage à l'un des niveaux suivants :

  • Aucun (None)
  • Critique (Critical)
  • Erreur
  • Avertissement
  • Information
  • Détaillé. (La valeur par défaut est définie sur Aucun).

    Utile à des fins de débogage.

Utiliser Orchestrator

Utilisez le flux Orchestrator lors de l'empaquetage des bibliothèques. L'instance d'Orchestrator doit être de version 20.4 ou supérieure. Le flux de bibliothèque doit autoriser l'authentification par clé API dans Locataire (Tenant) > Paramètre ( Setting ) > Déploiement(Deployment) .

Adresse Orchestrator

Spécifiez l’adresse de l’instance d’Orchestrator depuis laquelle les dépendances de bibliothèque doivent être restaurées.

Locataire dʹOrchestrator

Locataire Orchestrator à partir duquel les dépendances de bibliothèque doivent être restaurées.

Authentification

Pour l'authentification auprès d'Orchestrator, vous devez créer des informations d'identification dans Jenkins dès le départ. Il existe quatre options pour l'authentification :

(1)S’authentifier sur un système Orchestrator local à l’aide d’un nom d’utilisateur et d’un mot de passe

(2) Authentifiez-vous auprès d’un Cloud Orchestrator à l’aide d’un jeton de réactualisation (clé API).

(3) Authentifiez-vous auprès d’un Orchestrator sur site à l’aide de l’authentification d’application externe.

(4) Authentifiez-vous auprès d'un Orchestrator sur site à l'aide de l'authentification d'application externe.

Exemple de pipeline

ipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('Build') {
      steps {
        UiPathPack (
          outputPath: "Output\)\)\)\)${env.BUILD_NUMBER}",
          projectJsonPath: "UiBank\)\)\)\)project.json",
          version: [$class: 'ManualVersionEntry', version: "${MAJOR}.${MINOR}.${env.BUILD_NUMBER}"]
          useOrchestrator: true,
          traceLoggingLevel: "None",
          orchestratorAddress: "OrchestratorUrl",
          orchestratorTenant: "tenant name",
          credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”]
        )
      }
    }
  }
}ipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('Build') {
      steps {
        UiPathPack (
          outputPath: "Output\)\)\)\)${env.BUILD_NUMBER}",
          projectJsonPath: "UiBank\)\)\)\)project.json",
          version: [$class: 'ManualVersionEntry', version: "${MAJOR}.${MINOR}.${env.BUILD_NUMBER}"]
          useOrchestrator: true,
          traceLoggingLevel: "None",
          orchestratorAddress: "OrchestratorUrl",
          orchestratorTenant: "tenant name",
          credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”]
        )
      }
    }
  }
}

UiPath Deploy

Application : RPA

Type : tâche post-construction

UiPath Deploy est disponible dans les tâches et les pipelines standard, et vous permet de déployer un package UiPath NuGet sur UiPath Orchestrator.



Configuration

Paramètre de tâche

Description

Chemin d’accès au(x) package(s)

Le dossier qui contient votre ou vos packages nuget UiPath.

Adresse Orchestrator

Spécifiez l’adresse de l’instance d’Orchestrator vers laquelle le(s) package(s) va/vont être déployé(s).

Locataire dʹOrchestrator

Spécifiez le locataire Orchestrator vers lequel le(s) package(s) va/vont être déployé(s).

Dossier Orchestrator

Dossier de destination du déploiement. Si le dossier est un dossier classique, vous devez également définir le champ environments. La définition du champ environments n’est pas requise pour les dossiers modernes.
Pour saisir des sous-dossiers, assurez-vous de saisir à la fois le nom du dossier parent et le nom du sous-dossier. Par exemple, utilisez AccountingTeam\TeamJohn.

Environnements (requis pour les dossiers classiques)

Spécifiez l’environnement vers lequel le package va être déployé en tant que processus. Dans le cas d’un projet et d’un environnement comportant des processus existants, ces processus sont mis à jour de façon à utiliser la dernière version du projet. Spécifiez l’environnement vers lequel le package va être déployé en tant que processus. Dans le cas d’un projet et d’un environnement comportant des processus existants, ces processus sont mis à jour de façon à utiliser la dernière version du projet.

Points d’entrée

Spécifiez les points d'entrée pour créer ou mettre à jour un processus. Le point d'entrée spécifie le chemin du fichier à partir de la racine du projet.

Conditions

  • Les points d'entrée sont disponibles pour la version 21.4 ou ultérieure d'Orchestrator (par exemple, 21.4.UiPathDeploy.entryPoints). Pour les versions d'Orchestrator inférieures à 21.4, vous devez saisir n'importe quelle valeur, car le champ ne doit pas rester vide.
  • Point d'entrée par défaut défini sur Main.xaml.
  • Pour les dossiers classiques (obsolètes), vous ne pouvez spécifier qu'un seul point d'entrée pour chaque environnement.
  • Pour plus d'informations, consultez Points d'entrée Orchestrator.

Authentification

Pour l'authentification auprès d'Orchestrator, vous devez créer des informations d'identification dans Jenkins dès le départ. Il existe quatre options pour l'authentification :

(1)S’authentifier sur un système Orchestrator local à l’aide d’un nom d’utilisateur et d’un mot de passe

(2) Authentifiez-vous auprès d’un Cloud Orchestrator à l’aide d’un jeton de réactualisation (clé API).

(3) Authentifiez-vous auprès d’un Orchestrator sur site à l’aide de l’authentification d’application externe.

(4) Authentifiez-vous auprès d’un Orchestrator sur site à l’aide de l’authentification d’application externeauthentification d’application externe.

Niveau de journalisation du traçage

Paramètre utilisé pour activer la journalisation du traçage à l'un des niveaux suivants :

  • Aucun (None)
  • Critique (Critical)
  • Erreur
  • Avertissement
  • Information
  • Détaillé. (La valeur par défaut est définie sur Aucun).

    Utile à des fins de débogage.

Remarque :

Assurez-vous que votre réseau autorise l'accès au flux de package NuGet suivant :

  • 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-Official/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

Exemple de pipeline

pipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('PostBuild') {
      steps {
        UiPathDeploy (
          packagePath: "path\)\)\)    o\)\)NuGetpackage",
          orchestratorAddress: "OrchestratorUrl",
          orchestratorTenant: "tenant name",
          folderName: "folder name",
          environments: "environment",
          credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”],
          traceLoggingLevel: 'None'
        )
      }
    }
  }
}pipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('PostBuild') {
      steps {
        UiPathDeploy (
          packagePath: "path\)\)\)    o\)\)NuGetpackage",
          orchestratorAddress: "OrchestratorUrl",
          orchestratorTenant: "tenant name",
          folderName: "folder name",
          environments: "environment",
          credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”],
          traceLoggingLevel: 'None'
        )
      }
    }
  }
}

UiPath Run Tests

Test d'application

Type : tâche post-construction

UiPath Run tests est disponible dans les tâches et les pipelines standard, et vous permet :

  • Exécutez un ensemble de tests existant dans Orchestrator.
  • Empaquetez, déployez et exécutez des cas de test en spécifiant le chemin d'accès à un projet de test UiPath.

Une fois l'exécution du test terminée, l'onglet Résultat du test ( Test Result ) est publié dans le build Jenkins, affichant les résultats détaillés. De plus, un fichier de résultats de test JUnit est créé dans le chemin de sortie des résultats de test, lorsqu'il est spécifié, ou à la racine de l'espace de travail si non spécifié.

En fonction du résultat, le build sera soit marqué comme réussi (tous les cas de test sont réussis), soit comme échoué (au moins un cas de test a échoué).



Configuration

Paramètre de tâche

Description

Cible

  • Spécifiez un ensemble de tests existant sur UiPath Orchestrator (pour exécuter un ensemble de tests).
  • Fournissez le chemin project.json d’un projet UiPath Testing (pour exécuter le projet de test).

Chemin de sortie des résultats de test

L'ensemble de tests exécuté renvoie le résultat du test sous la forme de junit.xml . Spécifiez le chemin où le résultat doit être stocké, par rapport au répertoire de l'espace de travail Jenkins (par exemple, result.xml ).

Paramètres d’entrée

Définissez des arguments personnalisés pour vos cas de test afin de remplacer les valeurs par défaut au niveau de l'ensemble de tests. Grâce aux arguments, vous pouvez paramétrer les cas de test au moment de l'exécution. Pour définir des arguments, vous devez avoir publié un package avec des arguments.

Adresse Orchestrator

Spécifiez l’adresse de l’instance d’Orchestrator vers laquelle le(s) package(s) va/vont être déployé(s).

Locataire dʹOrchestrator

Spécifiez le locataire Orchestrator vers lequel le(s) package(s) va/vont être déployé(s).

Dossier Orchestrator

Dossier de destination du déploiement.

Si le dossier est un dossier classique, vous devez également définir le champ environments.
Pour les dossiers modernes, la définition du environments . n'est pas nécessaire.
Pour saisir des sous-dossiers, assurez-vous de saisir à la fois le nom du dossier parent et le nom du sous-dossier. Par exemple, utilisez AccountingTeam\TeamJohn.

Environnements (requis pour les dossiers classiques)

Spécifiez l’environnement vers lequel le package va être déployé en tant que processus. Dans le cas d’un projet et d’un environnement comportant des processus existants, ces processus sont mis à jour de façon à utiliser la dernière version du projet. Spécifiez l’environnement vers lequel le package va être déployé en tant que processus. Dans le cas d’un projet et d’un environnement comportant des processus existants, ces processus sont mis à jour de façon à utiliser la dernière version du projet.

Authentification

Pour l'authentification auprès d'Orchestrator, vous devez créer des informations d'identification dans Jenkins dès le départ. Il existe quatre options pour l'authentification :

(1)S’authentifier sur un système Orchestrator local à l’aide d’un nom d’utilisateur et d’un mot de passe

(2) Authentifiez-vous auprès d’un Cloud Orchestrator à l’aide d’un jeton de réactualisation (clé API).

(3) Authentifiez-vous auprès d’un Orchestrator sur site à l’aide de l’authentification d’application externe.

(4) Authentifiez-vous auprès d’un Orchestrator sur site à l’aide de l’authentification d’application externeauthentification d’application externe.

Délai d'attente (secondes)

Délai d'expiration de l'exécution du test. La valeur par défaut est de 7 200 secondes. Si le délai est dépassé avant que l'exécution sur Orchestrator ne soit terminée et renvoie le résultat, la construction sera annulée et marquée comme ayant échoué.

Niveau de journalisation du traçage

Paramètre utilisé pour activer la journalisation du traçage à l'un des niveaux suivants :

  • Aucun (None)
  • Critique (Critical)
  • Erreur
  • Avertissement
  • Information
  • Détaillé. (La valeur par défaut est définie sur Aucun).

    Utile à des fins de débogage.

Exemple de pipeline

pipeline {
  agent any
  environment {
    MAJOR = '1'
    MINOR = '0'
  }
  stages {
    stage ('PostBuild') {
      steps {
        UiPathTest (
          testTarget: [$class: 'TestSetEntry', testSet: "My Test Set"],
          orchestratorAddress: "OrchestratorUrl",
          orchestratorTenant: "tenant name",
          folderName: "folder name",
          timeout: "10000",
          traceLoggingLevel: 'None',
          testResultsOutputPath: "result.xml",
          credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: "credentialsId"]
        )
      }
    }
  }
}pipeline {
  agent any
  environment {
    MAJOR = '1'
    MINOR = '0'
  }
  stages {
    stage ('PostBuild') {
      steps {
        UiPathTest (
          testTarget: [$class: 'TestSetEntry', testSet: "My Test Set"],
          orchestratorAddress: "OrchestratorUrl",
          orchestratorTenant: "tenant name",
          folderName: "folder name",
          timeout: "10000",
          traceLoggingLevel: 'None',
          testResultsOutputPath: "result.xml",
          credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: "credentialsId"]
        )
      }
    }
  }
}

Obtention de la clé API Cloud Orchestrator



Configurer la connexion au service pour les applications externes

Étape 1 : Configurez votre application externe et vos étendues. Après avoir ajouté l'application, conservez l' ID de l'application, la clé secrète et les étendues d'application à portée de main, à utiliser pour l'étape suivante.

Remarque : si vous générez et utilisez une nouvelle clé secrète, l'ancienne sera invalidée.

Étape 2 : configurez les informations d’identification de l’application en tant que texte secret dans Jenkins. Pour cette étape, vous aurez besoin de la clé secrète générée dans Automation Cloud.

Étape 3 : configurez l'authentification pour chaque tâche sous Actions post-construction, en ajoutant le nom du compte, suivi de l'ID d'application, du secret et des étendues d'application générés via Automation Cloud.

Remarque : pensez à utiliser l'application externe dans des pipelines individuels pour éviter les erreurs d'invalidation.

Informations supplémentaires

  • Tous les chemins spécifiés doivent être locaux à l'espace de travail actuel. Vous pouvez utiliser des variables d'environnement dans les chemins d'accès, mais vous devez vous assurer qu'elles génèrent des chemins d'accès locaux à l'espace de travail.
  • Pour déployer des packages ou exécuter des tests, assurez-vous que l'utilisateur authentifié dispose des autorisations Vue des dossiers (ou Vue Unités d'organisation) et (20.4+ uniquement) Vue des tâches en arrière -plan.
  • Pour empaqueter des bibliothèques, lorsque vous êtes connecté à une instance d'Orchestrator, assurez-vous que l'utilisateur authentifié dispose de l'autorisation Consultation des bibliothèques .
  • Pour plus de détails sur la gestion des applications externes :

Dépannage du plugin Jenkins

Si vous rencontrez des problèmes d’installation ou de mise à niveau, envisagez les scénarios de résolution de problèmes suivants :

Erreur non autorisée

Description: erreur non autorisée.

Solution :

  • Si vous utilisez l'authentification de base: assurez-vous que la combinaison nom d'utilisateur-mot de passe sur la connexion Web est correcte.

    Si l'authentification fédérée est activée, assurez-vous d'écrire le nom d'utilisateur dans la tâche en tant que « DOMAINE\utilisateur »

  • Si vous utilisez l'authentification par jeton:

    • Révoquez le jeton du panneau d'accès à l'API et générez-en un nouveau.
    • Assurez-vous que l'utilisateur qui a généré la clé peut accéder à Orchestrator et dispose d'un compte utilisateur sur l'instance Orchestrator.
  • Si vous vous authentifiez par rapport à un Orchestrator sur site: assurez-vous que le certificat Orchestrator est valide et que la machine exécutant la tâche fait confiance au certificat Orchestrator au cas où vous utiliseriez un certificat auto-signé. Vous pouvez recevoir cette erreur car le certificat utilisé pour Orchestrator n'est pas valide. Cela peut signifier qu’il a le mauvais CN ou d’autres problèmes de validation.

Erreur interdite

Remède: l'utilisateur n'a pas l'autorisation d'effectuer l'action. Assurez-vous que l'utilisateur dispose des autorisations pour lire les dossiers, télécharger des packages, créer et mettre à jour des processus, lire des ensembles de tests et des cas de test, lire des tâches en arrière-plan et créer et exécuter des ensembles de tests.

Dossier/environnement introuvable

Solution: assurez-vous que l'utilisateur authentifié utilisé par les plug-ins CI/CD dispose des autorisations Folders.View et BackgroundTask.View (uniquement pour la version 20.4).

Le package existe déjà (conflit)

Solution: assurez-vous que le package que vous essayez de déployer n'existe pas déjà avec la même version. S'il existe, envisagez d'utiliser la gestion automatique des versions de package, afin que la nouvelle version soit augmentée à chaque déploiement.

Échec de l'exécution de la commande (erreur générique)

Solution: si l'espace de travail Jenkins se trouve à un emplacement du disque (par exemple, C:\Windows or C:\Program Files ) pour lequel l'utilisateur ne dispose pas d'autorisations, assurez-vous que l'espace de travail est placé sur un chemin accessible par l'utilisateur.

Jenkins ne parvient pas à traiter les chemins contenant des caractères non latins

Remède: Jenkins n’est pas en mesure de transmettre correctement les caractères encodés non standard lors de l’invocation du plugin UiPath. Les caractères inconnus seront remplacés par ??? .
La solution dépend de la façon dont Jenkins est déployé à la fois sur les machines hôtes du serveur et de l'agent, mais implique de définir file.encoding sur UTF-8 dans les options Java :

Windows

Lors de l'exécution de Jenkins sous Windows en tant que service : dans le fichier de configuration du service, ajoutez les arguments à l'intérieur de la balise. Suivez l'exemple de script ci-dessous.

<arguments>-Xrs -Xmx512m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -jar "%BASE%\)\)jenkins.war" --httpPort=8080 --webroot="%BASE%\)\)war"</arguments><arguments>-Xrs -Xmx512m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -jar "%BASE%\)\)jenkins.war" --httpPort=8080 --webroot="%BASE%\)\)war"</arguments>
Lors de l'exécution de Jenkins dans Docker : transmettez JAVA_OPTS au conteneur via --env JAVA_OPTS="..." , en suivant l'exemple de script ci-dessous.
docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 jenkins/jenkins:ltsdocker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 jenkins/jenkins:lts
Lors de l'exécution de Jenkins dans Tomcat : utilisez la variable d'environnement CATALINA_OPTS . Suivez l'exemple de script ci-dessous.
export CATALINA_OPTS="-DJENKINS_HOME=/path/to/jenkins_home/ -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -Xmx512m"export CATALINA_OPTS="-DJENKINS_HOME=/path/to/jenkins_home/ -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -Xmx512m"

Linux

Lors de l'exécution sur des distributions Linux basées sur Debian ou Ubuntu : dans le fichier de configuration, recherchez l'argument JAVA_ARGS et ajoutez l'encodage du fichier. Suivez l'exemple de script ci-dessous :
JAVA_ARGS="-Dfile.encoding=UTF-8 -Xmx512m"JAVA_ARGS="-Dfile.encoding=UTF-8 -Xmx512m"

Lors de l'exécution sur des distributions RedHat basées sur Linux : dans le fichier de configuration, recherchez l'argument JENKINS_JAVA_OPTIONS et ajoutez l'encodage du fichier. Suivez l'exemple de script ci-dessous.

JENKINS_JAVA_OPTIONS="-Dfile.encoding=UTF-8 -Xmx512m"JENKINS_JAVA_OPTIONS="-Dfile.encoding=UTF-8 -Xmx512m"

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.