Per continuare con il flusso di lavoro di esempio, sarà necessario configurarlo.
La configurazione del blocco è accessibile facendo clic su Modifica parametri nella scheda , oppure facendo clic con il tasto destro sul blocco e selezionando Modifica parametri per aprire la finestra . Una volta che un blocco ha parametri, il pulsante si trasforma in .
Per configurare i blocchi per l'esempio, segui questi passaggi:
-
Apri la finestra per l'azione
.Elenco impostazioni locali
-
I campi e richiederanno valori dinamici che vengono risolti durante l'esecuzione.
-
Clicca sull'icona del link
per il campo e seleziona l'azione
.Fetch access tokens
Il link diventa verde e il campo può essere modificato.
-
La sintassi per accedere alle proprietà di un trigger o di un'azione di riferimento è:
{{$.path.to.value}}Con l'output per
che è:Fetch access tokens
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }rendendo l'espressione necessaria per il campo
{{$.tokens.strings_token}}. -
Clicca sull'icona del link
per il campo e seleziona il trigger
.uploads:create
Il link diventa verde e il campo può essere modificato.
-
L'output del trigger
è simile a:uploads:create
{ "branch": { "name": "my_branch" }, "evento": "uploads:create", "messaggio": "utente-1 ha inizializzato il caricamento del file file.yml nel progetto name_1672734591_11 all'interno del branch my_branch\n", "project": { "created_at": "2023-01-03 08:29:51 UTC", "id": "abcdabcdabcdabcd-11", "main_format": "yml", "name": "name_1672734591_10", "point_of_contact": null, "project_image_url": null, "slug": "name_1672734591_10", "updated_at": "2023-01-03 08:29:51 UTC" }, "upload": { "created_at": "2023-01-03 08:29:48 UTC", "filename": "file.yml", "format": "yml", "id": "upload-1", "stato": "inizializzato", "summary": {}, "tag": null, "updated_at": "2023-01-03 08:29:48 UTC" }, "user": { "gravatar_uid": "29a2d1baa67d4ea524cf0f247f7bbb94", "id": "9c365b9a6f77c247c3de959f6152b231", "name": "Joe Sixpack", "username": "user-1" } }rendendo l'espressione obbligatoria per il campo
{{$.project.id}}. -
Clicca su Salva.
La finestra si chiude e i parametri per l'azione vengono salvati
-
-
La locale predefinita del progetto è necessaria per creare un lavoro passando l'ID all'azione
. L'azioneCrea lavoro
prende un input JSON, applica il filtro specificato e poi genera di nuovo un output JSONTrasforma JSON con jq
-
Dalla scheda nella finestra , cerca frase-jq.
Trascina e rilascia il blocco di azione
sotto il blocco di azioneTransform JSON with jq
per collegarli.Elenco impostazioni locali
-
Apri la finestra per l'azione
Trasforma JSON con jq. -
Seleziona dal campo a discesa .
-
Fai clic sull'icona del link
per il campo e seleziona l'azione
.Elenco impostazioni locali
Il link diventa verde e il campo può essere modificato.
-
Il campo prende l'input JSON. Un'espressione fissa speciale (
@invece di$) garantisce che l'intero output dell'azione di riferimento venga passato nel campo.Inserisci l'espressione
{{@.outputs.result}}nel campo . -
Fai clic sull'icona del link
per il campo e seleziona l'azione
.Elenco impostazioni locali
Il link diventa verde e il campo può essere modificato.
-
È necessario filtrare l'elenco delle impostazioni locali per restituire un nuovo elenco che contenga tutti gli elementi in cui la proprietà
defaultètrue.Può esserci solo un'impostazione locale predefinita per ogni progetto e l'elenco ha un elemento identificabile e obbligatorio. Quell'elemento è accessibile direttamente con la sintassi dell'array
.[0].Inserisci l'espressione
map(select(.default))|.[0]nel campo . -
Clicca su Salva.
La finestra si chiude e i parametri per l'azione vengono salvati
-
-
L'azione
può ora essere configurata e utilizzerà modelli dai blocchi precedenti.Crea un lavoro
-
Clicca sull'icona del link
per il campo e seleziona l'azione
.Fetch access tokens
Il link diventa verde e il campo può essere modificato.
Inserisci l'espressione
{{$.tokens.strings_token}}. -
Clicca sull'icona del link
per il campo e seleziona il trigger
.uploads:create
Il link diventa verde e il campo può essere modificato.
Inserisci l'espressione
{{$.project.id}}. -
Clicca sull'icona del link
per il campo e seleziona l'azione
Transform JSON with jq.Il link diventa verde e il campo può essere modificato.
Inserisci l'espressione
{{@.outputs.result}}. -
La data di scadenza può essere calcolata con funzioni sprig o Expr, ma per questo esempio verrà utilizzata una data fissa riconosciuta dall'API.
Nel campo , inserisci 2023-12-31T12:00:00Z.
-
Clicca su Salva.
La configurazione viene salvata e i dettagli possono essere visualizzati nella scheda .
-
-
Ogni azione può avere una o più condizioni combinate con gli operatori logici
ANDeOR. Queste condizioni vengono valutate in tempo reale e l'azione e le sue entità subordinate verranno eseguite solo se la condizione risulta vera.Per riflettere questo nell'esempio, mentre hai selezionato l'azione
, fai clic su Modifica condizioni dalla scheda o fai clic con il tasto destro sul blocco e seleziona Modifica condizioni.Crea un lavoro
Si apre la finestra .
-
Seguendo i modelli dei blocchi precedenti, collega il campo al trigger
e inserisci l'espressioneuploads:create
{{$.upload.tag}}. -
Seleziona NOT dal primo elenco a discesa per invertire l'affermazione.
-
Seleziona IsNull dall'elenco a discesa .
-
Clicca su Salva.
La condizione è presentata nella scheda .
Il flusso di lavoro si fermerà a questo punto se il caricamento non contiene un tag (cioè se non ci sono nuove/aggiornate chiavi/traduzioni).
-
-
Le impostazioni locali di destinazione sono ora richieste per il lavoro. Ai fini dell'esempio, verranno creati due impostazioni locali; una per lo spagnolo (es-ES) e una per il tedesco (de-DE). Le impostazioni locali verranno aggiunte alle due azioni
nella finestra come nel passaggio 3.Transform JSON with jq
-
Nel campo di entrambe le azioni, inserisci l'espressione
{{@.outputs.result}}, collega all'azionee salva il parametro.Elenco impostazioni locali
-
Nel campo di una delle azioni, inserisci l'espressione
map(select(.name == "es-ES"))|.[0]e collega all'azione.Elenco impostazioni locali
Salva il parametro.
-
Nella seconda azione, inserisci l'espressione
map(select(.name == "de-DE"))|.[0]e collega all'azione.Elenco impostazioni locali
Salva il parametro.
-
-
Le impostazioni locali verranno ora applicate alla creazione del lavoro.
Configura le due azioni
con gli stessi modelli definiti in precedenza.Aggiungi un'impostazione locale di destinazione a un lavoro
-
Il lavoro può ora essere avviato.
Configura l'azione
usando gli stessi modelli definiti in precedenza.Avvia un lavoro