Skip to content

Controlador de eventos ​

Los webhooks son la interacción principal entre el Version Control System (VCS) y Atlantis. Cada VCS envía las solicitudes al endpoint /events. La implementación de este endpoint se puede encontrar en el archivo events_controller.go. Este archivo contiene la función Post func (e *VCSEventsController) Post(w http.ResponseWriter, r *http.Request)` que analiza la solicitud de acuerdo con el VCS configurado.

Atlantis actualmente maneja uno de los siguientes eventos:

  • Evento de comentario
  • Evento de pull request

Todos los demás eventos se ignoran.

Evento de comentario ​

Este evento se activa cada vez que un usuario ingresa un comentario en el Pull Request, Merge Request, o como se llame para el VCS respectivo. Después de analizar la solicitud específica del VCS, el código llama a la función handleCommentEvent, que luego pasa el procesamiento a la función handleCommentEvent en el archivo command_runner.go. Esta función primero llama a los hooks pre-workflow, luego ejecuta uno de los comandos listados a continuación y, al final, los hooks post-workflow.

Evento de pull request ​

Para manejar eventos de comentarios en Pull Requests, primero deben crearse. Atlantis también permite la ejecución de comandos para ciertos eventos de Pull Requests.

Webhooks de pull request

La siguiente lista enlaza a los VCS compatibles y a su documentación de Webhook de Pull Request.

La siguiente lista muestra los eventos compatibles:

  • Pull Request abierto
  • Pull Request actualizado
  • Pull Request cerrado
  • Otro evento de Pull Request

La función RunAutoPlanCommand en el archivo command_runner.go se llama para los eventos de Pull Request Open y Update. Cuando está habilitada en el proyecto, esto ejecuta automáticamente el plan para el repositorio específico.

Siempre que un Pull Request se cierra, se llama a la función CleanUpPull en el archivo instrumented_pull_closed_executor.go. Esta función limpia todos los archivos, locks y otra información relacionada del Pull Request cerrado.

Copyright Atlantis a Series of LF Projects, LLC. Para los términos de uso del sitio web, la política de marcas y otras políticas del proyecto, consulta LF Projects, LLC Policies.