Para continuar com o fluxo de trabalho de amostra, será necessário configurá-lo.
A configuração de blocos pode ser acessada clicando em Editar parâmetros na aba ou clicando com o botão direito no bloco e selecionando Editar parâmetros para abrir a janela . Assim que um bloco tiver parâmetros, o botão muda para .
Para configurar os blocos para o exemplo, siga estes passos:
-
Abra a janela
para a ação delistas de locais
. -
Os campos
e precisarão de valores dinâmicos que sejam resolvidos no tempo de execução.-
Clique na do ícone de link para o campo Token de
e selecione a açãoTokens de acesso do Fetch
.O link se torna verde e o campo pode ser editado.
-
A sintaxe para acessar as propriedades de um acionamento ou ação referenciado é:
{{$.path.to.value}}
Com a saída para os tokens de
acesso do Fetch
sendo:{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }
fazer a expressão necessária para o
{{$.tokens.strings_token}}
do campo token de . -
Clique na do ícone de link para o campo
e selecione o acionamentouploads:crie
.O link se torna verde e o campo pode ser editado.
-
A saída dos
uploads:criar
acionamento se assemelha a:{ "branch": { "name": "my_branch" }, "evento": "uploads:criar", "message": "usuário-1 arquivo inicializado upload file.yml no projeto name_1672734591_11 no ramo my_ramo\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", "state": "initialized", "summary": {}, "tag": null, "updated_at": "2023-01-03 08:29:48 UTC" }, "user": { "gravatar_uid": "29a2d1baa67d4ea524cf0f247f7bbb94", "id": "9c365b9a6f77c247c3de959f6152b231", "name": "Joe Sixpack", "username": "user-1" } }
fazer a expressão necessária para o
{{$.project.id}}
de campo do . -
Clique em Salvar.
A janela de
é fechada e os parâmetros para a ação são salvos
-
-
O local padrão do projeto é necessário criar um trabalho passando o ID para a ação
Criar trabalho
. A açãoTransformar JSON com jq
leva uma entrada JSON, aplica o filtro especificado e, em seguida, sai JSON novamente-
Na aba phrase-jq.
na janela de , procureArraste e solte o bloco de ação
Transformar JSON com jq
abaixo da ação de localidades dalista
para conectá-los. -
Abra a janela
para a açãoTransformar JSON com jq
. -
Selecione
no campo suspenso . -
Clique na do ícone de link para o campo
e selecione a ação delocalidades da lista
.O link se torna verde e o campo pode ser editado.
-
O campo
leva a entrada JSON. Uma expressão fixa especial (@
em vez deUS$
) garante que toda a saída da ação referida seja passada no campo.Insira a expressão
{{@.outputs.result}}
no campo . -
Clique na do ícone de link para o campo
e selecione a ação delocalidades da lista
.O link se torna verde e o campo pode ser editado.
-
É necessário filtrar a lista de locais para gerar uma nova lista contendo todos os elementos em que a propriedade
padrão
étradutiva
.Só pode haver um local padrão por projeto e a lista tem um elemento identificável e obrigatório. Esse elemento é acessado diretamente com a sintaxe da
.[0]
matriz.Insira a expressão
map(select(.default)) |.[]
no campo . -
Clique em Salvar.
A janela de
é fechada e os parâmetros para a ação são salvos
-
-
A ação
Criar um trabalho
agora pode ser configurada e usará padrões de blocos anteriores.-
Clique na do ícone de link para o campo Token de
e selecione a açãoTokens de acesso do Fetch
.O link se torna verde e o campo pode ser editado.
Insira a
{{$.tokens.strings_token}}
da expressão. -
Clique na do ícone de link para o campo
e selecione o acionamentouploads:crie
.O link se torna verde e o campo pode ser editado.
Insira a
{{$.project.id}}
da expressão. -
Clique na do ícone de link para o campo
e selecione a açãoTransformar JSON com jq
.O link se torna verde e o campo pode ser editado.
Insira a
{{@.outputs.result}}
da expressão. -
A data de entrega pode ser calculada com funções sprig ou Expr, mas para os fins deste exemplo uma data de código rígido compreendida pela API será usada.
No campo 2023-12-31T12:00:00Z.
, digite -
Clique em Salvar.
A configuração é gravada, e os detalhes podem ser visualizados na aba
.
-
-
Cada ação pode ter uma ou mais condições combinadas com lógico
E
eOU
. Essas condições são avaliadas no tempo de execução, e a ação e suas secundárias só serão executadas se a condição for avaliada como verdadeira.Para refletir isso no exemplo, ao ter a ação
Criar um trabalho
selecionada, clique em Editar condições a partir da aba ou clique com o botão direito no bloco e selecione Editar condições.A janela
é aberta.-
Através de padrões de blocos anteriores, vincule o campo
aosuploads:crie
o acionamento e insira a expressão{{$.upload.tag}}
. -
Selecione NÃO da primeira lista suspenso para reverter a declaração.
-
Selecione IsNull a partir da lista suspenso de .
-
Clique em Salvar.
A condição está apresentada na aba de
.
O fluxo de trabalho vai parar neste ponto se o upload não contiver um código (pelo que não houve nenhuma chave/tradução nova/atualizada).
-
-
Os locais de tradução são agora necessários para o trabalho. Para efeitos do exemplo, serão criados dois locais: um para o espanhol (es-ES) e um para o alemão (de-DE). Os locais serão adicionados às duas ações
de transformar JSON com jq
na janela de como na etapa 3.-
No campo
de ambas as ações, digite a expressão{{@.outputs.result}}
, vinculue à ação delocalidades da lista
e grave o parâmetro. -
No campo
de uma ação, insira a ação de expressãomap(select(.name == "es-ES") |.[0]
e vincule-se à ação delocalidades da lista
.Gravar o parâmetro.
-
Na segunda ação, digite a expressão
map(select(.name == "de-DE") |.[0]
e vinculue à ação delistas locais
.Gravar o parâmetro.
-
-
Os locais agora serão aplicados à criação de trabalho.
Configurar as duas
Adicionar um local de tradução a ações de
trabalho com os mesmos padrões definidos anteriormente. -
O trabalho já pode ser iniciado.
Configure a ação
Iniciar um trabalho
com os mesmos padrões definidos anteriormente.