Actions
Les actions représentent la tâche exécutée sur la plateforme au sein d'un job.
Paramétrage
En plus du paramétrage de l'exécuteur, plusieurs champs peuvent être renseignés lors de la création d'une action :
- Nom : Le nom de l'action, qui sera affiché dans l'interface.
- Environnements protégés : Si oui, l'action pourra être exécutée sur un environnement protégé.
- Afficher les version : Si oui, le formulaire de choix de version sera activé à l'utilisation de cette action.
Gitlab
Le connecteur Gitlab permet de déclencher des pipelines Gitlab-CI depuis Juno, de suivre leur avancement et de récupérer les informations de qualité. Pour les détails de l'authentification, lire Connecteurs > Gitlab.
Pour envoyer des variables à Gitlab, il est possible de les définir dans le champ Template de l'action. Ce champ fonctionne de la même manière que pour les modèles de communication. Dans le cas de Gitlab, le formalisme suivant est attendu :
{
"ref": "branch_name",
"variables": {
"var_1": "var_1_value",
"var_2": "var_2_value",
...
}
}
Comme pour les modèles de communication, il est possible d'utiliser des champs de fusion dans le champ Template. Le contexte du job est directement accessible via les champs de fusion. Lire Communication > Champs de fusion > Job.
Par exemple :
{
"ref": "{{ branch }}",
"variables": {
"author_email": "{{ auditEntity.creator.email }}",
"author_name": "{{ auditEntity.creator.username }}",
"DEPLOYMENT": "do_action?url={{ platform.webUrl }}",
}
}
Dans cet exemple, un pipeline sera déclenché sur le projet paramétré, sur la branche correspondant à la branche du job
et avec les variables author_email
, author_name
et DEPLOYMENT
définies.
Options
Les options sont des choix optionnels que l'administrateur peut proposer à l'utilisateur d'activer ou non lors de la sélection d'une action. Ces options doivent d'abord être créées, lire Administration > Options. Il est ensuite possible de les rattacher à une action via le bouton Associer une option.
Si l'option est sélectionnée, alors le contenu de la template qui y est définie sera disponible sous une variable correspondant à la clé de l'option.
Par exemple :
{
"ref": "{{ branch }}",
"variables": {
"author_email": "{{ auditEntity.creator.email }}",
"author_name": "{{ auditEntity.creator.username }}",
"DEPLOYMENT": "do_action?url={{ platform.webUrl }}",
"OPT_DATABASE_BACKUP": {{ OPT_DATABASE_BACKUP | default("false") }}
}
}
On ajout ici une variable OPT_DATABASE_BACKUP
qui contiendra la valeur de l'option si elle est sélectionnée,
ou false
sinon. La variable OPT_DATABASE_BACKUP
correspond à la clé d'une option créée en amont, nommée
"Sauvegarder base de données".
Référentiels
Les référentiels sont comme les options, des données supplémentaires qui permettent à l'utilisateur de personnaliser son job lors de la création. Deux types de référentiels existent : Les référentiels simples correspondent à une liste de valeurs. Par exemple : Type de sauvegarde : base de données, fichiers+base de données, virtual-machine. Les référentiels externent permettent eux de réaliser des appels à des API externes pour venir populer la liste des valeurs du référentiel.
Il est donc possible d'ajouter un référentiel à une action, via le bouton Associer un référentiel. Ceci ouvre une fenêtre modale permettant de sélectionner le référentiel à associer, la clé sous laquelle la valeur sélectionnée sera disponible dans la template, le nom affiché à l'utilisateur et le caractère obligatoire ou non de la sélection.
La syntaxe pour récupérer la valeur est la suivante (avec KEY
la clé du référentiel) :
{{ KEY.get('value').asText() }}
Exemple avec un référentiel nommé BACKUP_TYPE
, listant les types de sauvegarde :
{
"ref": "{{ branch }}",
"variables": {
"author_email": "{{ auditEntity.creator.email }}",
"author_name": "{{ auditEntity.creator.username }}",
"DEPLOYMENT": "do_action?url={{ platform.webUrl }}",
"BACKUP_TYPE": {{ BACKUP_TYPE.get('value').asText() | default("fichiers+base de données") }}
}
}