Orchestrator

Configure a Workflow

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 amostra, será necessário configurá-lo.

A configuração de blocos 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. 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 estes passos:

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

  2. Os campos token de acesso e projeto precisarão de valores dinâmicos que sejam resolvidos no tempo de execução.

    1. Clique na Orc_link.jpg do ícone de link para o campo Token de acesso e selecione a ação circle-blue.svgTokens de acesso do Fetch.

      O link se torna verde e o campo pode ser editado.

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

      {{$.path.to.value}}

      Com a saída para os tokens de circle-blue.svgacesso 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 acesso.

    3. Clique na Orc_link.jpg do ícone de link para o campo projeto e selecione o acionamento history-orange.svguploads:crie.

      O link se torna verde e o campo pode ser editado.

    4. A saída dos history-orange.svguploads: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 projeto.

    5. Clique em Salvar.

      A janela de editar parâmetros é fechada e os parâmetros para a ação são salvos

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

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

      Arraste e solte o bloco de ação circle-blue.svgTransformar JSON com jq abaixo da ação de localidades da language-blue.svglista 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 na Orc_link.jpg do ícone de link para o campo Inserir e selecione a ação de language-blue.svglocalidades da lista.

      O link se torna verde e o campo pode ser editado.

    5. O campo Input leva a entrada JSON. Uma expressão fixa especial (@ em vez de US$) garante que toda a saída da ação referida seja passada no campo.

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

    6. Clique na Orc_link.jpg do ícone de link para o campo Jq e selecione a ação de language-blue.svglocalidades da lista.

      O link se torna verde e o campo pode ser editado.

    7. É 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 Jq.

    8. Clique em Salvar.

      A janela de editar parâmetros é fechada 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 na Orc_link.jpg do ícone de link para o campo Token de acesso e selecione a ação circle-blue.svgTokens de acesso do Fetch.

      O link se torna verde e o campo pode ser editado.

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

    2. Clique na Orc_link.jpg do ícone de link para o campo projeto e selecione o acionamento language-orange.svguploads:crie.

      O link se torna verde e o campo pode ser editado.

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

    3. Clique na Orc_link.jpg do ícone de link para o campo text local e selecione a ação Transformar JSON com jq.

      O link se torna verde e o campo pode ser editado.

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

    4. 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 Data de entrega, digite 2023-12-31T12:00:00Z.

    5. Clique em Salvar.

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

  5. Cada ação pode ter uma ou mais condições combinadas com lógico E e OU. 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 work-blue.svgCriar um trabalho selecionada, clique em Editar condições a partir da aba Condições ou clique com o botão direito no bloco e selecione Editar condições.

    A janela Editar condições é aberta.

    1. Através de padrões de blocos anteriores, vincule o campo variável aos language-orange.svguploads:crie o acionamento e insira a expressão {{$.upload.tag}}.

    2. Selecione NÃO da primeira lista suspenso para reverter a declaração.

    3. Selecione IsNull a partir da lista suspenso de comparar.

    4. Clique em Salvar.

      A condição está apresentada na aba de condições.

    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).

  6. 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 circle-blue.svgde transformar JSON com jq na janela de editar parâmetros como na etapa 3.

    1. No campo Inserir de ambas as ações, digite a expressão {{@.outputs.result}}, vinculue à ação de language-blue.svglocalidades da lista e grave o parâmetro.

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

      Gravar o parâmetro.

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

      Gravar o parâmetro.

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

    Configurar as duas work-blue.svgAdicionar um local de tradução a ações de trabalho com os mesmos padrões definidos anteriormente.

  8. O trabalho já 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.