Orchestrator

Configurar un flujo de trabajo

El contenido se traduce automáticamente del inglés por Phrase Language AI.

Para Continuar con el flujo de trabajo de muestra, será necesario configurarlo.

Se puede acceder a la configuración del bloque haciendo clic en Editar parámetros en la pestaña Configurar, o haciendo clic derecho en el bloque y seleccionando Editar parámetros para abrir la ventana Editar parámetros. Una vez que un bloque tiene parámetros, el botón agregar parámetros cambia a editar parámetros.

Para configurar los bloques para el ejemplo, siga estos pasos:

  1. Abra la ventana editar parámetros para la acción language-blue.svgList locales.

  2. Los campos identificador único (token) y proyecto requerirán valores dinámicos que se resuelven en tiempo de ejecución.

    1. Haga clic en el icono de enlace Linking Icon para el campo identificador único (token) y seleccione la acción circle-blue.svgFetch access tokens.

      El enlace se vuelve verde y el campo se puede editar.

    2. La sintaxis para acceder a las propiedades de un disparador o acción referenciada es:

      {{$.path.to.value}}

      Con la salida para circle-blue.svgFetch access tokens siendo:

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

      haciendo que la expresión requerida para el campo identificador único (token) sea {{$.tokens.strings_token}}.

    3. Haga clic en el icono de enlace Linking Icon para el campo proyecto y seleccione el disparador history-orange.svguploads:create.

      El enlace se vuelve verde y el campo se puede editar.

    4. La salida del disparador history-orange.svguploads:create se parece 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"
        }
      }
      

      haciendo que la expresión requerida para el campo proyecto sea {{$.project.id}}.

    5. Haz clic en Guardar.

      La ventana editar parámetros se cierra y los parámetros para la acción se guardan

  3. La localización predeterminada del proyecto es necesaria para Crear un trabajo pasando el ID a la acción work-blue.svgCrear trabajo. La acción circle-blue.svgTransform JSON with jq toma una salida JSON, aplica el filtrar especificado y luego vuelve a generar JSON.

    1. Desde la pestaña Actions en la ventana Workflow blocks, busque phrase-jq.

      Arrastre y suelte el bloque de acción circle-blue.svgTransform JSON with jq debajo de la acción language-blue.svglista localización para conectarlos.

    2. Abra la ventana Edit parameters para la acción Transform JSON with jq.

    3. Seleccionar JSON desde el campo desplegable Input Type.

    4. Haga clic en el icono de enlace Linking Icon para el campo Input y Seleccionar la acción language-blue.svglista localización.

      El enlace se vuelve verde y el campo se puede editar.

    5. El campo Input toma la salida JSON. Una expresión fija especial (@ en lugar de $) asegura que toda la salida de la acción referenciada se pase al campo.

      Introduzca la expresión {{@.outputs.result}} en el campo Input.

    6. Haga clic en el icono de enlace Linking Icon para el campo Jq y Seleccionar la acción language-blue.svglista localización.

      El enlace se vuelve verde y el campo se puede editar.

    7. Se requiere un filtrar de la lista de localización que devuelva una nueva lista que contenga todos los elementos donde la propiedad default sea true.

      Solo puede haber una localización predeterminada por proyecto y la lista tiene un elemento identificable y necesario. Ese elemento se accede directamente con la sintaxis de matriz .[0].

      Introduzca la expresión map(select(.default))|.[0] en el campo Jq.

    8. Haz clic en Guardar.

      La ventana editar parámetros se cierra y los parámetros para la acción se guardan

  4. La acción work-blue.svgCrear un trabajo ahora se puede configurar y usará patrones de bloques anteriores.

    1. Haga clic en el icono de enlace Linking Icon para el campo identificador único (token) y seleccione la acción circle-blue.svgFetch access tokens.

      El enlace se vuelve verde y el campo se puede editar.

      Introduzca la expresión {{$.tokens.strings_token}}.

    2. Haga clic en el icono de enlace Linking Icon para el campo proyecto y seleccione el disparador language-orange.svguploads:create.

      El enlace se vuelve verde y el campo se puede editar.

      Introduzca la expresión {{$.project.id}}.

    3. Haga clic en el icono de enlace Linking Icon para el campo Source locale y Seleccionar la acción Transform JSON with jq.

      El enlace se vuelve verde y el campo se puede editar.

      Introduzca la expresión {{@.outputs.result}}.

    4. La fecha de vencimiento puede ser calculada con funciones sprig o Expr, pero para los propósitos de este ejemplo se usará una fecha codificada entendida por la API.

      En el campo Due date, introduzca 2023-12-31T12:00:00Z.

    5. Haz clic en Guardar.

      La configuración se guarda y los detalles se pueden ver en la pestaña Configure.

  5. Cada acción puede tener una o más condiciones combinadas con AND y OR lógicos. Estas condiciones se evalúan en tiempo de ejecución y la acción y sus elementos secundarios solo se ejecutarán si la condición se evalúa como verdadera.

    Para reflejar esto en el ejemplo, mientras tiene seleccionada la acción work-blue.svgCrear un trabajo, haga clic en editar condiciones desde la pestaña Conditions o haga clic derecho en el bloque y seleccione editar condiciones.

    Se abre la ventana Edit conditionals.

    1. Siguiendo los patrones de bloques anteriores, vincule el campo variable al disparador language-orange.svguploads:create e ingrese la expresión {{$.upload.tag}}.

    2. Seleccionar NOT de la primera lista desplegable para invertir la declaración.

    3. Seleccionar IsNull de la lista desplegable Comparar.

    4. Haz clic en Guardar.

      La condición se presenta en la pestaña Conditions.

    El flujo de trabajo se detendrá en este punto si la carga no contiene una etiqueta (lo que significa que no hubo claves/traducciones nuevas/actualizadas).

  6. Ahora se requieren localizaciones meta para el trabajo. Para los fines del ejemplo, se crearán dos localizaciones; una para español (es-ES) y otra para alemán (de-DE). Las localizaciones se agregarán a las dos acciones circle-blue.svgTransform JSON with jq en la ventana Edit parameters como en el paso 3.

    1. En el campo Input de ambas acciones, ingrese la expresión {{@.outputs.result}}, vincule a la acción language-blue.svgList locales y guarde el parámetro.

    2. En el campo Jg de una acción, ingrese la expresión map(seleccionar(.name == \"es-ES\"))|.[0] y vincule a la acción language-blue.svgList locales.

      Guardar el parámetro.

    3. En la segunda acción, ingrese la expresión map(seleccionar(.name == \"de-DE\"))|.[0] y vincule a la acción language-blue.svgList locales.

      Guardar el parámetro.

  7. Las localizaciones ahora se aplicarán a la creación del trabajo.

    Configure las dos acciones work-blue.svgAdd a target locale to a job con los mismos patrones definidos anteriormente.

  8. El trabajo ahora se puede iniciar.

    Configure la acción work-blue.svgIniciar un trabajo con los mismos patrones definidos anteriormente.

¿Fue útil este artículo?

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.