Workflows

Workflows es una característica que busca dar un control completo sobre el ciclo de vida de las APIs.

Puede acceder a la funcionalidad en Governance  Workflows:

workflows

En la pantalla, puede ver y crear flujos de trabajo por equipos, así como un único flujo de trabajo para su organización. Los flujos de trabajo se componen de stages que marcan las etapas de desarrollo de APIs, con requisitos personalizables para definir las condiciones de promoción entre etapas.

¿Recuerda los diferentes estilos de gobierno, adaptados a las necesidades de cada equipo? Workflows permite poner esto en práctica! Cada equipo puede tener diferentes etapas, con diferentes requisitos, representando las diversas demandas de diseño de APIs que operan en su escenario. Además, al incluir los diferentes flujos de trabajo en un solo lugar, es fácil ver cómo funciona cada equipo y cómo se desarrolla la estrategia de APIs de su organización.

Solo es posible crear un workflow por equipo. Pero puede ocurrir que un mismo equipo ejecute diferentes procesos, debido al tipo de API o al tipo de demanda (por ejemplo: demanda legal, demanda de innovación, demanda estándar, entre otras, y/o APIs corporativas, APIs heredadas, APIs internas, entre otras). En estos casos, para cada proceso ejecutado, el mismo equipo puede ser registrado varias veces — con nombres diferentes y representativos — para ser asociado a sus respectivos workflows.

Ejemplo:

Equipo A - Legal          ->    Workflow Equipo A - Legal
Equipo A - Innovación     ->    Workflow Equipo A - Innovación
Equipo A - Corporativo    ->    Workflow Equipo A - Corporativo
Equipo A - Legacy         ->    Workflow Equipo A - Legacy

Operación y tipos de flujos de trabajo

Un flujo de trabajo es un organizador del ciclo de vida de una API. Consiste en stages (etapas), cada una definido por una serie de requisitos. Para que una API se promueva a la siguiente etapa, debe estar dentro de los estándares definidos para la etapa. Todo es completamente personalizable: el número de etapas, sus nombres y requisitos. Con esto, diferentes equipos de una misma organización pueden tener flujos de trabajo adaptados a su realidad de desarrollo.

Al hacer clic en un flujo de trabajo en la lista en Governance  Workflows, verá las diferentes etapas que componen el flujo de trabajo y puede editar el flujo de trabajo y/o sus etapas (consulte más sobre esto abajo). En cada etapa, puede ver las APIs o revisiones de APIs que se encuentran allí:

workflows stages
Etapas de un flujo de trabajo

Puede definir la etapa de una API en las pantallas de edición o creación de una API, en el campo Workflow Stage (y solo puede seleccionar una etapa si la API tiene los requisitos establecidos para ella):

workflows api stage
Workflow Stage reemplaza el campo LIfecycle, utilizado en versiones de Manager anteriores a 1909 1.0.0.

Existen dos tipos de flujos de trabajo: Organization Workflow y Team Workflow. Para aumentar el control a nivel de empresa, solo puede existir un Organization Workflow. Puede tener varios Team Workflows, pero solo uno por equipo (puede leer sobre cómo crear y administrar equipos aquí).

Los flujos de trabajo que crea se relacionan con el contexto de la API, que establece reglas de visibilidad para cada API (puede ver más sobre esto aquí): El flujo de trabajo de organización se aplicará a todas las APIs que sean de los contextos organization, teams u only me que no tengan su propio flujo de trabajo. Si el contexto de una API es de tipo teams y el equipo tiene un flujo de trabajo registrado, las etapas disponibles para selección en el campo Workflow Stage son las etapas creadas dentro del flujo de trabajo del equipo.

Gestión de workflows

Creación de un nuevo workflow

Solo puede tener un único Organization Workflow, que ya está creado (pero se puede editar, ver más sobre esto abajo). Por lo tanto, el proceso de creación de flujos de trabajo solo se aplica a Team Workflows.

Para crear un nuevo flujo de trabajo de equipo, haga clic en el botón + en la esquina inferior derecha de la pantalla. Se abrirá una ventana modal para la entrada de datos (vea la imagen a continuación). Introduzca el nombre y la descripción del flujo de trabajo y elija un equipo para él:

workflows create

Una tarjeta para su nuevo flujo de trabajo estará presente en la lista de Team Workflows, con una etiqueta que identificará al equipo.

workflows cards

Al hacer clic en la tarjeta, verá que hay una etapa inicial para su flujo de trabajo, llamada «Stage One» por defecto.

workflows new

Puede editar el nombre de esta etapa haciendo clic en él y también puede añadir nuevas etapas haciendo clic en el botón +:

workflows new stages

Para volver a la página que muestra todos los flujos de trabajo, haga clic en VIEW ALL WORKFLOWS.

Clonación de un flujo de trabajo de equipo

Esta funcionalidad está disponible a partir de la versión 4.6.1.0.

Es posible clonar un flujo de trabajo de equipo existente haciendo clic en el icono icon clone en la esquina inferior izquierda de la tarjeta del flujo de trabajo a clonar.

Esto creará un nuevo flujo de trabajo de equipo con las etapas ya configuradas según el flujo de trabajo clonado.

Al hacer clic en el icono icon clone, se abrirá una ventana modal para que pueda introducir el nombre, la descripción y el equipo al que se asociará el nuevo flujo de trabajo:

workflows cloning
El nombre del flujo de trabajo a crear debe ser único.
Además, el equipo que se asocie al nuevo flujo de trabajo no puede estar ya asociado a otro flujo de trabajo.

Edición de un workflow

Todos los flujos de trabajo se pueden editar, ya sea el Organization Workflow o Team Workflows. Para editar un flujo de trabajo, haga clic en su tarjeta en Governance  Workflows. Se le llevará a la pantalla de etapas y podrá cambiar los campos de texto y los requisitos para cada etapa.

Los campos con texto (nombre, hora, descripción del flujo de trabajo y nombre de etapa) se pueden editar directamente. Es decir, simplemente haga clic en el texto deseado para modificarlo:

workflows edit names

Un flujo de trabajo no puede existir sin etapas, por lo que puede eliminar cualquier etapa excepto la primera (que, sin embargo, se puede editar). Para eliminar una etapa, haga clic en el icono icon delete grey situado junto al nombre.

No se puede eliminar una etapa si contiene cualquier API.

Edición de los requisitos de cada etapa

El icono icon settings abre la ventana de edición de requisitos de etapas:

workflows stage rules

En esta ventana, puede establecer las condiciones mínimas para que una API se incluya en cada etapa. Los campos de requisitos son:

  • Interceptors: campo para elegir interceptores que debe estar en el flujo de APIs.

  • Environments: campo para seleccionar los entornos donde la API debe haberse implementado para estar en la etapa.

  • Attributes: puede insertar aquí atributos necesarios a las APIs en la etapa.

  • API Maturity: campo para determinar el porcentaje mínimo de Interface Completeness para las APIs en la etapa.

Además de estas reglas, puede determinar entornos que se pueden habilitar para implementar APIs que se encuentran en la etapa. Para incluir entornos en los que se pueden implementar APIs, debe añadirlos en el campo Deployable Environment.

Siempre que realice cambios en las reglas de una etapa de un workflow, los equipos de APIs deben ser notificados para ajustar las APIs a las nuevas reglas. Algunos consejos sobre cómo hacerlo:

  • Entrar en las APIs de la etapa y guardarlas de nuevo, haciendo que se les aplique la nueva regla.

  • Si una API está en producción, no hacer ajustes, pero esperar una nueva demanda de evolución y crear una nueva versión de la API que contenga las nuevas reglas.

Eliminación de workflows

El Organization Workflow no se puede eliminar.

Para eliminar un Team Workflow, haga clic en el icono icon delete grey en la tarjeta del flujo de trabajo en governance  Workflows. Esto abrirá una ventana para la confirmación de la acción, realizada por el botón Confirm.

No se puede eliminar un flujo de trabajo si se aplica a cualquier API.
workflows cards

Consejos de uso

Lo que sigue no son reglas absolutas, sino sugerencias para utilizar la funcionalidad:

  • Es una buena práctica dejar la etapa de entrada de un flujo de trabajo (es decir, la primera etapa) sin requerimientos. Por lo tanto, todos podrán crear APIs sin restricciones. A partir de ahí, las siguientes etapas pueden tener requisitos progresivamente más restrictivos que siguen su estrategia de APIs y el proceso de desarrollo del equipo.

  • Una regla que ayuda mucho a mantener el flujo de «desarrollo → homologación → producción» es utilizar entornos de implementación como premisa para crear las etapas de los flujos de trabajo.

  • Cuando realice cambios en las reglas de una etapa que contiene APIs, recuerde guardar esas APIs de nuevo (incluso si no realiza ningún cambio en ellas). Esto es necesario para que la nueva regla se aplique a las APIs que ya formaban parte de la etapa.

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]