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.

La configuración del bloque se puede acceder 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, sigue estos pasos:

  1. Abre la ventana Editar parámetros para la acción language-blue.svgLista de locales.

  2. Los campos Token de acceso y Proyecto requerirán valores dinámicos que se resuelven en tiempo de ejecución.

    1. Haz clic en el ícono de enlace Linking Icon para el campo Token de acceso y selecciona la acción circle-blue.svgObtener tokens de acceso.

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

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

      {{$.path.to.value}}

      Con la salida para circle-blue.svgObtener tokens de acceso siendo:

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

      haciendo que la expresión sea requerida para el campo Token de acceso {{$.tokens.strings_token}}.

    3. Haz clic en el ícono de enlace Linking Icon para el campo Proyecto y selecciona el desencadenador history-orange.svguploads:create.

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

    4. La salida del desencadenador history-orange.svguploads:create se asemeja a:

      {
        "branch": {
          "name": "my_branch"
        },
        "event": "uploads:create",
        "mensaje": "usuario-1 inicializó la carga del archivo file.yml en el proyecto name_1672734591_11 dentro de la rama 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 sea requerida para el campo Proyecto {{$.project.id}}.

    5. Haz clic en Guardar.

      La ventana de Editar parámetros se cierra y los parámetros para la acción se guardan.

  3. El local predeterminado del proyecto es necesario para crear un trabajo pasando el ID a la work-blue.svgCrear trabajo acción. La circle-blue.svgTransformar JSON con jq acción toma una entrada JSON, aplica el filtro especificado y luego vuelve a generar JSON.

    1. Desde la Acciones pestaña en la ventana de bloques de flujo de trabajo, busca frase-jq.

      Arrastra y suelta el bloque de acción circle-blue.svgTransformar JSON con jq debajo de la language-blue.svglista de localizaciones acción para conectarlos.

    2. Abre la ventana Editar parámetros para la Transformar JSON con jq acción.

    3. Selecciona JSON del campo desplegable Tipo de entrada.

    4. Haz clic en el ícono de enlace Linking Icon para el campo Entrada y selecciona la acción language-blue.svglista de localizaciones.

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

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

      Ingresa la expresión {{@.outputs.result}} en el campo Entrada.

    6. Haz clic en el ícono de enlace Linking Icon para el campo Jq y selecciona la acción language-blue.svglista de localizaciones.

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

    7. Se requiere un filtro de la lista de localizaciones que devuelva una nueva lista que contenga todos los elementos donde la propiedad predeterminado sea true.

      Solo puede haber un local predeterminado por proyecto y la lista tiene un elemento identificable y requerido. Ese elemento se accede directamente con la sintaxis de array .[0].

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

    8. Haz clic en Guardar.

      La ventana de 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 puede ser configurada y usará patrones de bloques anteriores.

    1. Haz clic en el ícono de enlace Linking Icon para el campo Token de acceso y selecciona la acción circle-blue.svgObtener tokens de acceso.

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

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

    2. Haz clic en el ícono de enlace Linking Icon para el campo Proyecto y selecciona el desencadenador language-orange.svguploads:create.

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

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

    3. Haz clic en el ícono de enlace Linking Icon para el campo Localización de origen y selecciona la acción Transformar JSON con jq.

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

      Ingresa 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 que entiende la API.

      En el campo Fecha de vencimiento, ingresa 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 Configurar.

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

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

    Se abre la ventana Editar condicionales.

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

    2. Seleccione NO de la primera lista desplegable para invertir la declaración.

    3. Seleccione EsNulo de la lista desplegable comparar.

    4. Haz clic en Guardar.

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

    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. Los locales de destino ahora son requeridos para el trabajo. Para los propósitos del ejemplo, se crearán dos locales; uno para español (es-ES) y uno para alemán (de-DE). Los locales se agregarán a las dos acciones circle-blue.svgTransformar JSON con jq en la ventana Editar parámetros como en el paso 3.

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

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

      Guarde el parámetro.

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

      Guarde el parámetro.

  7. Los locales ahora se aplicarán a la creación de trabajos.

    Configure las dos acciones work-blue.svgAgregar un local de destino a un trabajo con los mismos patrones definidos anteriormente.

  8. El trabajo ahora se puede iniciar.

    Configura la work-blue.svgIniciar un trabajo acción con los mismos patrones que se definieron 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.