Orchestrator

Configure 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, é preciso configurá-lo.

A configuração do bloco pode ser acessada clicando em Editar parâmetros na guia Configurar ou clicando com o botão direito no bloco e selecionando Editar parâmetros para abrir a janela Editar parâmetros. Assim que um bloco tiver 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 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 vínculo Ícone de vínculo do 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 referenciado é:

      {{$.path.to.value}}

      A saída da ação circle-blue.svgBuscar tokens de acesso é:

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

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

    3. Clique no ícone de vínculo Ícone de vínculo do 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 é semelhante a:

      {
        "branch": {
          "name": "my_branch"
        },
        "event": "uploads:create",
        "message": "user-1 initialized file upload file.yml in project name_1672734591_11 within 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",
          "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"
        }
      }
      

      Portanto, 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 da ação são salvos

  3. A localidade padrão do projeto é necessária 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, em seguida, gera JSON novamente

    1. Na guia Ações da janela Blocos de fluxo de trabalho, pesquise por phrase-jq.

      Arraste e solte o bloco de ação circle-blue.svgTransformar JSON com jq abaixo da ação language-blue.svglistar localidades 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 vínculo Ícone de vínculo do campo Entrada e selecione a ação language-blue.svglistar localidades.

      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.

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

    6. Clique no ícone de vínculo Ícone de vínculo do campo Jq e selecione a ação language-blue.svglistar localidades.

      O link fica verde e o campo pode ser editado.

    7. É necessário um filtro da lista de localidades que retorne uma nova lista contendo todos os elementos em que a propriedade default seja true.

      Pode haver apenas uma localidade padrão por projeto e a lista possui um elemento identificável e obrigatório. Esse elemento é acessado diretamente com a sintaxe de array .[0].

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

    8. Clique em Gravar.

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

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

    1. Clique no ícone de vínculo Ícone de vínculo do 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.

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

    2. Clique no ícone de vínculo Ícone de vínculo do campo Projeto e selecione o gatilho language-orange.svguploads:create.

      O link fica verde e o campo pode ser editado.

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

    3. Clique no ícone de link Linking Icon do campo Source locale e selecione a ação Transform JSON with jq.

      O link fica verde e o campo pode ser editado.

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

    4. A data de vencimento pode ser calculada com funções sprig ou Expr, mas, para fins deste exemplo, será usada uma data fixa reconhecida pela API.

      No campo Due date, insira 2023-12-31T12:00:00Z.

    5. Clique em Gravar.

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

  5. Cada ação pode ter uma ou mais condições combinadas com os operadores lógicos AND e OR. Essas condições são avaliadas em tempo de execução, e a ação e suas ações subordinadas só serão executadas se a condição for avaliada como verdadeira.

    Para refletir isso no exemplo, com a ação work-blue.svgCreate a job selecionada, clique em Edit conditions na aba Conditions ou clique com o botão direito no bloco e selecione Edit conditions.

    A janela Edit conditionals é aberta.

    1. Seguindo os padrões dos blocos anteriores, vincule o campo variable ao gatilho language-orange.svguploads:create e insira a expressão {{$.upload.tag}}.

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

    3. Selecione IsNull na lista suspensa compare.

    4. Clique em Gravar.

      A condição é apresentada na aba Conditions.

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

  6. As localidades de destino agora são obrigatórias para o trabalho. Para fins deste exemplo, duas localidades serão criadas; uma para espanhol (es-ES) e outra para alemão (de-DE). As localidades serão adicionadas às duas ações circle-blue.svgTransform JSON with jq na janela Edit parameters, como na etapa 3.

    1. No campo Input de ambas as ações, insira a expressão {{@.outputs.result}}, vincule à ação language-blue.svgList locales 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.svgList locales.

      Salve o parâmetro.

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

      Salve o parâmetro.

  7. As localidades agora serão aplicadas à criação do trabalho.

    Configure as duas ações work-blue.svgAdd a target locale to a job seguindo os mesmos padrões definidos anteriormente.

  8. O trabalho agora pode ser iniciado.

    Configure a ação work-blue.svgStart a job seguindo os mesmos padrões definidos anteriormente.

Execução de um fluxo de trabalho sob demanda

Após a configuração dos blocos, o fluxo de trabalho pode ser executado sob demanda para testá-lo sem esperar que seu gatilho seja acionado, seja ele um agendamento ou um webhook.

Inicie uma execução de uma destas maneiras:

  • No editor de fluxo de trabalho, use o botão Run para abrir a caixa de diálogo Run.

  • Envie uma solicitação POST para /orchestrator/api/v1/workflows/{workflow_id}/executions na API pública.

Uma execução sempre usa a revisão mais recente do fluxo de trabalho. A revisão não precisa ser publicada, mas deve passar na validação de publicação. Cada vez que o fluxo de trabalho é executado, uma nova execução é criada e listada na página Executions com a tag Manual.

Nota

As execuções sob demanda estão disponíveis apenas para fluxos de trabalho no mecanismo de fluxo de trabalho de próxima geração. Para fluxos de trabalho legados, o botão Run não é exibido no editor, e a API retorna um erro 422.

Pacotes de ações e modelos não podem ser executados, e o fluxo de trabalho deve ter um proprietário.

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.