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 de blocos pode ser acessada clicando em Editar parâmetros na guia Configurar ou clicando com o botão direito do mouse no bloco e selecionando Editar parâmetros para abrir a janela Editar parâmetros . Quando um bloco tem parâmetros, o botão Adicionar parâmetros alterna para Editar parâmetros.

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

  1. Abra a janela Editar parâmetros para a language-blue.svg ação Listar localidades.

  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 Orc_link.jpg para o campo Token de acesso e selecione a circle-blue.svg ação Buscar 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 tokens de acesso circle-blue.svgFetch sendo:

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

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

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

      O link fica verde e o campo pode ser editado.

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

      {
        "branch": {
          "name": "my_branch"
        },
        "event": "uploads:create",
        "message": "file.yml de upload de arquivo inicializado pelo usuário-1 no Project name_1672734591_11 dentro da ramificação 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",
          "name": "Joe Sixpack",
          "username": "user-1"
        }
      }
      

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

    5. Clique em Salvar.

      As janelas Editar parâmetros são fechadas e os parâmetros da ação são salvos

  3. A localidade padrão do projeto é necessária para criar um trabalho passando a ID para a work-blue.svg ação Criar Trabalho. A circle-blue.svg ação Transformar JSON com jq recebe uma entrada JSON, aplica o filtro especificado e, em seguida, gera JSON novamente

    1. Na guia Ações na janela Blocos de fluxo de trabalho , procure phrase-jq.

      Arraste e solte o bloco deação Transformar JSON com jq circle-blue.svg abaixo da language-blue.svg ação listar localidades para conectá-las.

    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 Orc_link.jpg para o campo Entrada e selecione a language-blue.svg ação localidades da lista.

      O link fica verde e o campo pode ser editado.

    5. O campo Input 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.

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

    6. Clique no ícone de link Orc_link.jpg para o campo Jq e selecione a language-blue.svg ação localidades da lista.

      O link fica verde e o campo pode ser editado.

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

      Só pode haver uma localidade padrão por projeto e a lista tem um elemento identificável e necessário. Esse elemento é acessado diretamente com o .[ 0] sintaxe da matriz.

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

    8. Clique em Salvar.

      As janelas Editar parâmetros são fechadas e os parâmetros da ação são salvos

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

    1. Clique no ícone de link Orc_link.jpg para o campo Token de acesso e selecione a circle-blue.svg ação Buscar 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 Orc_link.jpg para o campo Projeto e selecione o language-orange.svguploads:create trigger.

      O link fica verde e o campo pode ser editado.

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

    3. Clique no ícone de link Orc_link.jpg para o campo Localidade de origem 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, mas para fins deste exemplo será usada uma data codificada compreendida pela API.

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

    5. Clique em Salvar.

      A configuração é salva e os detalhes podem ser exibidos na guia Configurar .

  5. Cada ação pode ter uma ou mais condições combinadas com lógicas AND 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 avaliada como verdadeira.

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

    A janela Editar condicionais é aberta.

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

    2. Selecione NOT na primeira lista suspensa para inverter a instrução.

    3. Selecione IsNull na lista suspensa de comparação .

    4. Clique em Salvar.

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

    O fluxo de trabalho será interrompido neste ponto se o carregamento não contiver uma tag (o que significa que não houve chaves/traduções novas/atualizadas).

  6. As localidades de destino agora são necessárias para o trabalho. Para os fins do exemplo, duas localidades serão criadas; um para espanhol (es-ES) e um para alemão (de-DE). As localidades serão adicionadas às duas circle-blue.svgTransformar JSON com ações jq na janela Editar parâmetros , como na etapa 3.

    1. No campo Entrada de ambas as ações, insira a expressão {{@.outputs.result}}, vincule-se language-blue.svg à ação Listar localidades e salve o parâmetro.

    2. No campo Jg de uma ação, insira a expressão map(select(.name == "es-ES"))|. [0] e link para a language-blue.svg ação Listar localidades.

      Salve o parâmetro.

    3. Na segunda ação, insira a expressão map(select(.name == "de-DE"))|. [0] e link para a language-blue.svg ação Listar localidades.

      Salve o parâmetro.

  7. Os locais agora serão aplicados na geração de empregos.

    Configure os dois work-blue.svgAdicionar uma localidade de destino a uma ação de trabalho com os mesmos padrões definidos anteriormente.

  8. O trabalho já pode ser iniciado.

    Configure a work-blue.svgIniciar uma ação de 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.