Automation Pipelines proporciona un complemento de REST que le permite integrar Automation Pipelines con otras aplicaciones que utilizan REST API para que pueda desarrollar y distribuir continuamente aplicaciones de software que deben interactuar entre sí. El complemento de REST invoca una API, que envía y recibe información entre Automation Pipelines y otra aplicación.

Con el complemento de REST, puede:

  • Integrar sistemas externos basados en REST API en una canalización de Automation Pipelines.
  • Integrar una canalización de Automation Pipelines como parte del flujo de sistemas externos.

El complemento de REST funciona con cualquier instancia de REST API y admite los métodos GET, POST, PUT, PATCH y DELETE para enviar o recibir información entre Automation Pipelines y otras aplicaciones.

Tabla 1. Preparar una canalización para comunicarse a través de REST API
Qué hacer Qué sucede como resultado
Agregue una tarea de REST a la canalización.

La tarea de REST comunica información entre aplicaciones y puede proporcionar información de estado para una tarea posterior en la etapa de la canalización.

En la tarea de REST, seleccione la acción REST e incluya la URL.

La tarea de la canalización llama a la URL cuando se ejecuta la canalización.

Para las acciones POST, PUT y PATCH, debe incluir una carga útil. En la carga útil, puede enlazar las propiedades de la canalización y de la tarea cuando se ejecuta la canalización.

Observe este ejemplo.

Ejemplo de uso del complemento de REST:

Puede agregar una tarea de REST para obtener la información necesaria para una tarea de canalización posterior.

Al igual que si usa el complemento de REST para invocar una API, puede incluir una tarea de sondeo en la canalización para invocar REST API y sondearla hasta que finalice y la tarea de la canalización cumpla los criterios de salida. Consulte Qué tipos de tareas están disponibles en Automation Pipelines.

También puede usar las REST API para importar y exportar una canalización, y utilizar los scripts de ejemplo para ejecutar una canalización.

En este procedimiento, la tarea de REST obtiene una etiqueta de construcción de un servicio, y una tarea de CI posterior utiliza la etiqueta de construcción para obtener un número de construcción de CICD.

Procedimiento

  1. Para crear una canalización, haga clic en Canalizaciones > Nueva canalización > Lienzo en blanco.
  2. En la etapa de la canalización, haga clic en + Tarea secuencial.
  3. En el panel de tareas, agregue la tarea de REST:
    1. Introduzca un nombre para la tarea.
    2. En el menú desplegable Tipo, seleccione REST.
    3. En el área Solicitud de REST, seleccione GET.
      Para que la tarea de REST solicite datos de otra aplicación, seleccione el método GET. Para enviar datos a otra aplicación, seleccione el método POST.
    4. Introduzca la URL que identifica el endpoint de REST API utilizado para obtener la etiqueta de compilación. Por ejemplo:
      https://devops.mycompany.com:8001/job/service-build/api/json
      Nota: Automation Pipelines no admite %2F como codificación de URL para / como en:
      https://gitlab.com/api/v4/projects/1234567/repository/files/FOLDERNAME%2Ftest.yaml
      Al especificar el endpoint de REST API, utilice un formato de URL básico, como el siguiente:
      https://gitlab.com/api/v4/projects/1234567/repository/files/FOLDERNAME/test.yaml
      Para que una tarea de REST importe datos desde otra aplicación, puede incluir la variable de carga útil. Por ejemplo, para una acción de importación, puede introducir ${Stage0.export.responseBody}. Si el tamaño de los datos de respuesta supera los 5 MB, es posible que se produzca un error en la tarea de REST.
    5. Para autorizar la tarea, haga clic en Agregar encabezados e introduzca los valores y las claves de encabezado, por ejemplo:
      Key Valor
      Aceptar aplicación/json
      Tipo de contenido aplicación/json
    Cuando agregue una tarea de REST y configure la solicitud de REST, seleccione la acción, introduzca la URL y añada los encabezados para la autorización.
  4. Agregue una tarea posterior que utilice información de la respuesta de la tarea de REST.
  5. Para guardar la canalización, haga clic en Guardar.
  6. En la pestaña Canalización, haga clic en Habilitar canalización.
    Antes de que se pueda ejecutar la canalización, debe habilitarla.
  7. Haga clic en Guardar y, a continuación, haga clic en Cerrar.
  8. Haga clic en Ejecutar.
  9. Para ver la ejecución de la canalización, haga clic en Ejecuciones.
    Después de que la canalización comience a ejecutarse, podrá observar el estado de esta mientras se ejecuta.
  10. Para comprobar que la tarea de REST devuelve la información esperada, examine la ejecución de la canalización y los resultados de la tarea.
    1. Una vez que se complete la canalización, para confirmar que la otra aplicación devolvió los datos solicitados, haga clic en el vínculo a la ejecución de la canalización.
    2. Haga clic en la tarea de REST de la canalización.
    3. En la ejecución de la canalización, haga clic en la tarea, observe los detalles de la tarea y compruebe que la tarea de REST devolvió los resultados esperados.
      Los detalles de la tarea muestran el código de respuesta, el cuerpo, las claves de encabezado y los valores.
      Los detalles de la tarea de REST muestran el estado COMPLETADO, el código de respuesta, el cuerpo de la respuesta y los valores y las claves de encabezado.
  11. Para ver la salida de JSON, haga clic en VER SALIDA DE JSON.
    El resultado de JSON de la tarea de REST muestra los encabezados de respuesta y el cuerpo de la respuesta, e incluye el buscador de rutas para buscar en el contenido.

Resultados

Enhorabuena. Ha configurado una tarea de REST que ha invocado REST API y enviado información entre Automation Pipelines y otra aplicación mediante el complemento de REST.

Qué hacer a continuación

Siga utilizando tareas de REST en las canalizaciones para ejecutar comandos e integrar Automation Pipelines con otras aplicaciones para poder desarrollar y distribuir aplicaciones de software. Considere la posibilidad de usar tareas de sondeo para sondear la API hasta que finalice y la tarea de canalización cumpla los criterios de salida.