Orchestrator

Configurar um Fluxo de Trabalho

O conteúdo de toda a Central de Ajuda é traduzido automaticamente de inglês pelo Phrase Language AI.

Para continuar com o fluxo de trabalho de exemplo, ele precisará ser configurado.

A configuração do bloco pode ser acessada clicando em Editar parâmetros na aba Configurar, ou clicando com o botão direito no bloco e selecionando Editar parâmetros para abrir a janela Editar parâmetros. Uma vez que um bloco tenha parâmetros, o botão Adicionar parâmetros muda para Editar parâmetros.

Para configurar os blocos para o exemplo, siga estas etapas:

  1. Abra a janela Editar parâmetros para a ação language-blue.svgListar locais.

  2. Os campos Token de acesso e Projeto exigirão valores dinâmicos que são resolvidos em tempo de execução.

    1. Clique no ícone de link Linking Icon para o campo Token de acesso e selecione a ação circle-blue.svgBuscar tokens de acesso.

      O link fica verde e o campo pode ser editado.

    2. A sintaxe para acessar as propriedades de um gatilho ou ação referenciada é:

      {{$.path.to.value}}

      Com a saída para circle-blue.svgBuscar tokens de acesso sendo:

      { "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }

      tornando a expressão necessária para o campo Token de acesso {{$.tokens.strings_token}}.

    3. Clique no ícone de link Linking Icon para o campo Projeto e selecione o gatilho history-orange.svguploads:create.

      O link fica verde e o campo pode ser editado.

    4. A saída do gatilho history-orange.svguploads:create se assemelha a:

      {
        "branch": {
          "name": "my_branch"
        },
        "event": "uploads:create",
        "mensagem": "usuário-1 iniciou o upload do arquivo file.yml no projeto name_1672734591_11 dentro do ramo 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",
          "state": "initialized",
          "summary": {},
          "tag": null,
          "updated_at": "2023-01-03 08:29:48 UTC"
        },
        "user": {
          "gravatar_uid": "29a2d1baa67d4ea524cf0f247f7bbb94",
          "id": "9c365b9a6f77c247c3de959f6152b231",
          "nome": "Joe Sixpack",
          "username": "user-1"
        }
      }
      

      fazendo a expressão necessária para o campo Projeto {{$.project.id}}.

    5. Clique em Gravar.

      A janela Editar parâmetros fecha e os parâmetros para a ação são salvos

  3. O local padrão do projeto é necessário para criar um trabalho passando o ID para a ação work-blue.svgCriar Trabalho. A ação circle-blue.svgTransformar JSON com jq recebe uma entrada JSON, aplica o filtro especificado e então gera JSON novamente

    1. Na aba Ações na janela Blocos de Fluxo de Trabalho, procure por frase-jq.

      Arraste e solte o bloco de ação circle-blue.svgTransformar JSON com jq abaixo da ação language-blue.svglista de locais para conectá-los.

    2. Abra a janela Editar parâmetros para a ação Transformar JSON com jq.

    3. Selecione JSON no campo suspenso Tipo de Entrada.

    4. Clique no ícone de link Linking Icon para o campo Entrada e selecione a ação language-blue.svglista de locais.

      O link fica verde e o campo pode ser editado.

    5. O campo Entrada recebe a entrada JSON. Uma expressão fixa especial (@ em vez de $) garante que toda a saída da ação referenciada seja passada para o campo.

      Digite a expressão {{@.outputs.result}} no campo Entrada.

    6. Clique no ícone de link Linking Icon para o campo Jq e selecione a ação language-blue.svglista de locais.

      O link fica verde e o campo pode ser editado.

    7. Um filtro da lista de locais que retorna uma nova lista contendo todos os elementos onde a propriedade padrão é verdadeiro é necessário.

      Pode haver apenas um local padrão por projeto e a lista tem um elemento identificável e necessário. Esse elemento é acessado diretamente com a sintaxe de array .[0].

      Digite a expressão map(selecionar(.default))|.[0] no campo Jq.

    8. Clique em Gravar.

      A janela Editar parâmetros fecha e os parâmetros para a ação são salvos

  4. A ação work-blue.svgCriar um trabalho agora pode ser configurada e usará padrões de blocos anteriores.

    1. Clique no ícone de link Linking Icon para o campo Token de acesso e selecione a ação circle-blue.svgBuscar tokens de acesso.

      O link fica verde e o campo pode ser editado.

      Digite a expressão {{$.tokens.strings_token}}.

    2. Clique no ícone de link Linking Icon para o campo Projeto e selecione o gatilho language-orange.svguploads:create.

      O link fica verde e o campo pode ser editado.

      Digite a expressão {{$.project.id}}.

    3. Clique no ícone de link Linking Icon para o campo texto original e selecione a ação Transformar JSON com jq.

      O link fica verde e o campo pode ser editado.

      Digite a expressão {{@.outputs.result}}.

    4. A data de vencimento pode ser calculada com funções sprig ou Expr, mas para os propósitos deste exemplo, uma data codificada será usada, entendida pela API.

      No campo Data de vencimento, digite 2023-12-31T12:00:00Z.

    5. Clique em Gravar.

      A configuração é salva e os detalhes podem ser visualizados na aba Configurar.

  5. Cada ação pode ter uma ou mais condições combinadas com AND lógico e OR. Essas condições são avaliadas em tempo de execução e a ação e seus filhos só serão executados se a condição for verdadeira.

    Para refletir isso no exemplo, enquanto a ação work-blue.svgCriar um trabalho estiver selecionada, clique em Editar condições na aba Condições ou clique com o botão direito no bloco e selecione Editar condições.

    A janela Editar condicionais se abre.

    1. Seguindo padrões de blocos anteriores, vincule o campo variável ao gatilho language-orange.svguploads:create e digite a expressão {{$.upload.tag}}.

    2. Selecione NÃO na primeira lista suspensa para inverter a afirmação.

    3. Selecione IsNull na lista suspensa comparar.

    4. Clique em Gravar.

      A condição é apresentada na aba Condições.

    O fluxo de trabalho parará neste ponto se o upload não contiver uma tag (significando que não houve novas/chaves/traduções atualizadas).

  6. Os locais de destino agora são necessários para o trabalho. Para os propósitos do exemplo, dois locais serão criados; um para espanhol (es-ES) e um para alemão (de-DE). Os locais serão adicionados às duas ações circle-blue.svgTransformar JSON com jq na janela Editar parâmetros como no passo 3.

    1. No campo Entrada de ambas as ações, digite a expressão {{@.outputs.result}}, vincule à ação language-blue.svgListar locais e salve o parâmetro.

    2. No campo Jg de uma ação, insira a expressão map(select(.name == "es-ES"))|.[0] e vincule à ação language-blue.svgLista de locais.

      Grave o parâmetro.

    3. Na segunda ação, insira a expressão map(select(.name == "de-DE"))|.[0] e vincule à ação language-blue.svgLista de locais.

      Grave o parâmetro.

  7. Os locais agora serão aplicados à criação de trabalho.

    Configure as duas ações work-blue.svgAdicionar um local alvo a um trabalho com os mesmos padrões definidos anteriormente.

  8. O trabalho agora pode ser iniciado.

    Configure a ação work-blue.svgIniciar um trabalho com os mesmos padrões definidos anteriormente.

Esse artigo foi útil?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.