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 Edit parameters na aba Configure, ou clicando com o botão direito no bloco e selecionando Edit parameters para abrir a janela Edit parameters. Assim que um bloco tiver parâmetros, o botão Add parameters muda para Edit parameters.

Para configurar os blocos para o exemplo, siga estes passos:

  1. Abra a janela Edit parameters para a ação language-blue.svgList locales.

  2. Os campos Access token e Project 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 Access token e selecione a ação circle-blue.svgFetch access tokens.

      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}}

      Com a saída para circle-blue.svgFetch access tokens sendo:

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

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

    3. Clique no ícone de link Linking Icon para o campo Project 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",
        "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"
        }
      }
      

      tornando 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.svgTransform JSON with jq recebe uma saída JSON, aplica o filtrar especificado e então gera JSON novamente

    1. Na aba Actions na janela Workflow blocks, pesquise por Phrase-jq.

      Arraste e solte o bloco de ação circle-blue.svgTransform JSON with jq abaixo da ação language-blue.svglista local para conectá-los.

    2. Abra a janela editar parâmetros para a ação Transform JSON with jq.

    3. Selecionar JSON no campo suspenso Input Type.

    4. Clique no ícone de link Linking Icon para o campo Input e Selecionar a ação language-blue.svglista local.

      O link fica verde e o campo pode ser editado.

    5. O campo Input recebe a saída 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 Input.

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

      O link fica verde e o campo pode ser editado.

    7. Um filtrar da lista de local que retorna uma nova lista contendo todos os elementos onde a propriedade default é true é 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].

      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 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 Access token e selecione a ação circle-blue.svgFetch access tokens.

      O link fica verde e o campo pode ser editado.

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

    2. Clique no ícone de link Linking Icon para o campo Project 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 para o campo local de texto original e Selecionar 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 codificada compreendida pela API.

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

    5. Clique em Gravar.

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

  5. Cada ação pode ter uma ou mais condições combinadas com AND e OR lógicos. 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, com a ação work-blue.svgCriar um trabalho selecionada, clique em editar condições na aba Conditions ou clique com o botão direito no bloco e Selecionar editar condições.

    A janela editar condicionais é 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. Selecionar NOT na primeira lista suspensa para inverter a declaração.

    3. Selecionar IsNull na lista suspensa Comparar.

    4. Clique em Gravar.

      A condição é apresentada na aba Conditions.

    O fluxo de trabalho parará neste ponto se o upload não contiver um código (o que significa que não houve novas chaves/traduções ou chaves/traduções atualizadas).

  6. Locais de tradução agora são obrigatórios para o trabalho. Para fins deste exemplo, dois locais serão criados; um para espanhol (es-ES) e um para alemão (de-DE). Locais serão adicionados às duas ações circle-blue.svgTransform JSON with jq na janela editar parâmetros como na etapa 3.

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

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

      Gravar o parâmetro.

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

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

  8. O trabalho agora pode ser iniciado.

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