Acerca de los eventos de flujo de trabajo
Puedes configurar tu flujo de trabajo para que se ejecute cuando se creen eventos de webhook a partir de una actividad en GitHub. Los flujos de trabajo pueden usar más de un evento de webhook para desencadenar la ejecución de un flujo de trabajo. Para obtener más información, consulta la sección "webhooks". Para obtener más información sobre la sintaxis on
, consulta "Sintaxis de flujo de trabajo para GitHub Actions".
Los siguientes pasos se producen para activar una ejecución de flujo de trabajo:
-
Se produce un evento en tu repositorio, y el webhook del evento resultante tiene una confirmación de SHA y una referencia de Git asociadas.
-
El directorio
.github/workflows
en tu repositorio se busca para los archivos de flujo de trabajo en la confirmación SHA o la referencia de Git asociadas. Los archivos de flujo de trabajo deben estar presentes en la confirmación SHA o la referencia de Git que se debe tener en cuenta.Por ejemplo, si el evento se produjo en una rama particular del repositorio, los archivos de flujo de trabajo deben estar presentes en el repositorio en esa rama.
-
Se inspeccionarán los archivos de flujo de trabajo para esa confirmación de SHA y referencia de Git, y se activará una nueva ejecución de flujo de trabajo para cualquier flujo de trabajo que tenga valores
on:
que coincidan con el evento desencadenante.El flujo de trabajo se ejecuta en el código de tu repositorio en la misma confirmación SHA y la referencia de Git que desencadenó el evento. Cuando se ejecuta un flujo de trabajo, GitHub establece las variables de entorno
GITHUB_SHA
(confirmar SHA) yGITHUB_REF
(referencia de Git) en el entorno del ejecutor. Para obtener más información, consulta "Usar variables de entorno".
Nota: No puedes activar nuevas ejecuciones de flujo de trabajo usando el GITHUB_TOKEN
. Para obtener más información, consulta "Activar nuevos flujos de trabajo mediante un token de acceso personal".
Ejemplo con un solo evento
# Trigger on push
on: push
Ejemplo con una lista de eventos
# Trigger the workflow on push or pull request
on: [push, pull_request]
Ejemplo utilizando eventos múltiples con tipos de actividad o configuración
Si necesitas especificar tipos de actividad o configuración para un evento, debes configurar cada evento por separado. Debes agregar dos puntos (:
) a todos los eventos, incluyendo aquellos sin configuración.
on:
# Trigger the workflow on push or pull request,
# but only for the master branch
push:
branches:
- master
pull_request:
branches:
- master
# Also trigger on page_build, as well as release created events
page_build:
release:
types: # This configuration does not affect the page_build event above
- created
Eventos de webhook
Puedes configurar tu flujo de trabajo para que se ejecute cuando se crean eventos de webhook en GitHub. Algunos eventos tienen más de un tipo de actividad que activa el evento. Si más de un tipo de actividad activa el evento, puedes especificar qué tipos de actividad activarán el flujo de trabajo para que se ejecute.
check_run
Ejecuta tu flujo de trabajo en cualquier momento que se produzca el evento check_run
. Más de un tipo de actividad desencadena este evento. Para obtener más información acerca de la API de REST, consulta la sección "Ejecuciones de verificación".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
check_run | - created - rerequested - completed - requested_action | Última confirmación en la rama por defecto | Rama por defecto |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una comprobación de ejecución ha sido resolicitada
o requested_action
.
on:
check_run:
types: [rerequested, requested_action]
check_suite
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento check_suite
. Más de un tipo de actividad desencadena este evento. Para obtener más información acerca de la API de REST, consulta la sección de "conjuntos de verificaciones".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Nota: Para evitar flujos de trabajo recurrentes, este evento no activa flujos de trabajo si la comprobación de suite fue creada por GitHub Actions.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
check_suite | - completed - requested - rerequested | Última confirmación en la rama por defecto | Rama por defecto |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una comprobación de ejecución ha sido resolicitada
o completada
.
on:
check_suite:
types: [rerequested, completed]
create (crear)
Ejecuta tu flujo de trabajo en cualquier momento en que alguien cree una rama o etiqueta, que activa el evento crear
. Para obtener más información sobre la API de REST, consulta la sección "Crear una referencia".
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
create (crear) | n/a | Última confirmación en la rama o etiqueta creada | Rama o etiqueta creada |
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento crear
.
on:
create
eliminar
Ejecuta tu flujo de trabajo en cualquier momento en que alguien cree una rama o etiqueta, que activa el evento eliminar
. Para obtener más información sobre la API de REST, consulta la sección "Borrar una referencia".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
eliminar | n/a | Última confirmación en la rama por defecto | Rama por defecto |
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento eliminar
.
on:
delete
deployment
Ejecuta tu flujo de trabajo en cualquier momento en que alguien cree una implementación, que activa el evento implementación
. Las implementaciones creadas con SHA de confirmación pueden no tener una referencia de Git. Para obtener más información acerca de la API de REST, consulta la sección "Despliegues".
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
deployment | n/a | Confirmación de implementación | Rama o etiqueta que se debe implementar (vacío si está confirmada) |
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento implementación
.
on:
deployment
deployment_status
Ejecuta tu flujo de trabajo en cualquier momento en que un tercero proporcione un estado de implementación, que activa un evento de deployment_status
. Las implementaciones creadas con SHA de confirmación pueden no tener una referencia de Git. Para obtener más información acerca de la API de REST, consulta la sección "Crear un estado de despliegue".
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
deployment_status | n/a | Confirmación de implementación | Rama o etiqueta que se debe implementar (vacío si está confirmada) |
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento implementación
.
on:
deployment_status
bifurcación
Ejecuta tu flujo de trabajo en cualquier momento en que alguien bifurque un repositorio, lo que activa el evento de bifurcación
. Para obtener más información sobre la API de REST, consulta la sección "Crear una bifurcación".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
bifurcación | n/a | Última confirmación en la rama por defecto | Rama por defecto |
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento de bifurcación
.
on:
fork
gollum
Ejecuta tu flujo de trabajo en cualquier momento en que alguien cree o actualice una página Wiki, que activa el evento gollum
.
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
gollum | n/a | Última confirmación en la rama por defecto | Rama por defecto |
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento gollum
.
on:
gollum
comentario_propuesta
Ejecuta tu flujo de trabajo en cualquier momento que se produzca el evento issue_comment
. Más de un tipo de actividad desencadena este evento. Para obtener más información acerca de la API de REST, consulta la sección "comentarios de un informe de problemas".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
comentario_propuesta | - created - edited - deleted | Última confirmación en la rama por defecto | Rama por defecto |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un miembro ha sido creado
o eliminado
.
on:
issue_comment:
types: [created, deleted]
propuestas
Ejecuta tu flujo de trabajo en cualquier momento que se produzca el evento de propuestas
. Más de un tipo de actividad desencadena este evento. Para obtener información acerca de la API de REST, consulta la sección "informes de problemas".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
propuestas | - opened - edited - deleted - transferred - pinned - unpinned - closed - reopened - assigned - unassigned - labeled - unlabeled - locked - unlocked - milestoned - demilestoned | Última confirmación en la rama por defecto | Rama por defecto |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una propuesta ha sido abierta
, editada
, o marcada como hito
.
on:
issues:
types: [opened, edited, milestoned]
etiqueta
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento de etiquetado
. Más de un tipo de actividad desencadena este evento. Para obtener más información sobre la API de REST, consulta la sección "Etiquetas".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
etiqueta | - created - edited - deleted | Última confirmación en la rama por defecto | Rama por defecto |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un miembro ha sido creado
o eliminado
.
on:
label:
types: [created, deleted]
hito
Ejecuta tu flujo de trabajo en cualquier momento que se produzca el evento de milestone
. Más de un tipo de actividad desencadena este evento. Para obtener más información sobre la API de REST, consulta la sección "Hitos".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
hito | - created - closed - opened - edited - deleted | Última confirmación en la rama por defecto | Rama por defecto |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un hito ha sido abierto
o eliminado
.
on:
milestone:
types: [opened, deleted]
page_build
Ejecuta tu flujo de trabajo en cualquier momento en que alguien suba a una GitHub Rama habilitada para páginas, que activa el evento page_build
. Para obtener más información acerca de la API de REST, consulta la sección "Páginas".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
page_build | n/a | Última confirmación en la rama por defecto | n/a |
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento page_build
.
on:
page_build
project
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento de project
. Más de un tipo de actividad desencadena este evento. Para obtener más información sobre la API de REST, consulta la sección "Proyectos".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
project | - created - updated - closed - reopened - edited - deleted | Última confirmación en la rama por defecto | Rama por defecto |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un proyecto ha sido creado
o eliminado
.
on:
project:
types: [created, deleted]
project_card
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento project_card
. Más de un tipo de actividad desencadena este evento. Para obtener más información sobre la API de REST, consulta la sección "Tarjetas de proyecto".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
project_card | - created - moved - converted to an issue- edited - deleted | Última confirmación en la rama por defecto | Rama por defecto |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un proyecto ha sido abierto
o eliminado
.
on:
project_card:
types: [opened, deleted]
project_column
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento project_column
. Más de un tipo de actividad desencadena este evento. Para obtener más información sobre la API de REST, consulta la sección "Columnas de proyecto".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
project_column | - created - updated - moved - deleted | Última confirmación en la rama por defecto | Rama por defecto |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una columna de proyecto ha sido creado
o eliminado
.
on:
project_column:
types: [created, deleted]
public
Ejecuta tu flujo de trabajo en cualquier momento en que alguien haga público un repositorio privado, que activa el evento público
. Para obtener más información acerca de la API de REST, consulta la sección "Editar repositorios".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
public | n/a | Última confirmación en la rama por defecto | Rama por defecto |
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento público
.
on:
public
solicitud_extracción
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento de pull_request
. Más de un tipo de actividad desencadena este evento. Para obtener más información sobre la API de REST, consulta la sección "Solicitudes de extraccións".
Nota: Por defecto, un flujo de trabajo solo se ejecuta cuando un tipo de actividad pull_request
está abierto
, sincronizado
, o reabierto
. Para activar los flujos de trabajo para más tipos de actividades, usa la palabra clave tipos
.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
solicitud_extracción | - assigned - unassigned - labeled - unlabeled - opened - edited - closed - reopened - synchronize - ready_for_review - locked - unlocked - review_requested - review_request_removed | Última confirmación de fusión en la rama GITHUB_REF | Rama de fusión de PR refs/pull/:prNumber/merge |
Puedes extender o limitar los tipos de actividad por defecto usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una solicitud de extracción ha sido assigned
(asignada), opened
, syncronize
o reopened
.
on:
pull_request:
types: [assigned, opened, synchronize, reopened]
Eventos de solicitud de extracción para repositorios bifurcados
Nota: los flujos de trabajo no se ejecutan en repositorios base privados cuando abres una solicitud de extracción desde un repositorio bifurcado.
Cuando creas una solicitud de extracción desde un repositorio bifurcado al repositorio base, GitHub envía el evento pull_request
al repositorio base y no se producen eventos de solicitud de extracción en el repositorio bifurcado.
Los flujos de trabajo no se ejecutan en repositorios bifurcados por defecto. Debes habilitar las Acciones de GitHub en la pestaña Acciones del repositorio bifurcado.
Los permisos para el GITHUB_TOKEN
en los repositorios bifurcados son de solo lectura. Para más información, consulta la sección "Autenticarse con el GITHUB_TOKEN."
revisión_solicitud de extracción
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento pull_request_review
. Más de un tipo de actividad desencadena este evento. Para obtener más información sobre la API de REST, consulta la sección "Revisiones de solicitudes de extracción".
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
revisión_solicitud de extracción | - submitted - edited - dismissed | Última confirmación de fusión en la rama GITHUB_REF | Rama de fusión de PR refs/pull/:prNumber/merge |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una revisión de solicitud de extracción ha sido editada
o descartada
.
on:
pull_request_review:
types: [edited, dismissed]
Eventos de solicitud de extracción para repositorios bifurcados
Nota: los flujos de trabajo no se ejecutan en repositorios base privados cuando abres una solicitud de extracción desde un repositorio bifurcado.
Cuando creas una solicitud de extracción desde un repositorio bifurcado al repositorio base, GitHub envía el evento pull_request
al repositorio base y no se producen eventos de solicitud de extracción en el repositorio bifurcado.
Los flujos de trabajo no se ejecutan en repositorios bifurcados por defecto. Debes habilitar las Acciones de GitHub en la pestaña Acciones del repositorio bifurcado.
Los permisos para el GITHUB_TOKEN
en los repositorios bifurcados son de solo lectura. Para más información, consulta la sección "Autenticarse con el GITHUB_TOKEN."
comentarios _revisiones_solicitudes de extracción
Ejecuta tu flujo de trabajo en cualquier momento en que se modifique una diferencia unificada de solicitud de extracción, que activa el evento pull_request_review_comment
. Más de un tipo de actividad desencadena este evento. Para obtener más información sobre la API de REST, consulta la sección Revisar comentarios.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
comentarios _revisiones_solicitudes de extracción | - created - edited - deleted | Última confirmación de fusión en la rama GITHUB_REF | Rama de fusión de PR refs/pull/:prNumber/merge |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un comentario de revisión de solicitud de extracción ha sido creado
o eliminado
.
on:
pull_request_review_comment:
types: [created, deleted]
Eventos de solicitud de extracción para repositorios bifurcados
Nota: los flujos de trabajo no se ejecutan en repositorios base privados cuando abres una solicitud de extracción desde un repositorio bifurcado.
Cuando creas una solicitud de extracción desde un repositorio bifurcado al repositorio base, GitHub envía el evento pull_request
al repositorio base y no se producen eventos de solicitud de extracción en el repositorio bifurcado.
Los flujos de trabajo no se ejecutan en repositorios bifurcados por defecto. Debes habilitar las Acciones de GitHub en la pestaña Acciones del repositorio bifurcado.
Los permisos para el GITHUB_TOKEN
en los repositorios bifurcados son de solo lectura. Para más información, consulta la sección "Autenticarse con el GITHUB_TOKEN."
pull_request_target
Este evento es similar al de pull_request
, con la diferencia de que se ejecuta en el contexto del repositorio base de la solicitud de extracción en vez de en la confirmación de fusión. Esto significa que puedes poner tus secretos como disponibles de forma más seguro en los flujos de trabajo que active la solicitud de extracción, ya que solo se ejecutan los flujos de trabajo que se definan en la confirmación del repositorio base. Por ejemplo, este evento te permite crear flujos de trabajo que etiquetan y comentan en las solicitudes de extracción con base en el contenido de la carga útil del evento.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
solicitud_extracción | - assigned - unassigned - labeled - unlabeled - opened - edited - closed - reopened - synchronize - ready_for_review - locked - unlocked - review_requested - review_request_removed | Última confirmación en la rama base de la solicitud de extracción | Rama base de la solicitud de extracción |
Predeterminadamente, un flujo de trabajo se ejecuta únicamente cuando el tipo de actividad de un pull_request_target
se encuentra como opened
, synchronize
, o reopened
. Para activar los flujos de trabajo para más tipos de actividades, usa la palabra clave tipos
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una solicitud de extracción ha sido assigned
(asignada), opened
, syncronize
o reopened
.
on: pull_request_target
types: [assigned, opened, synchronize, reopened]
subir
Nota: La carga disponible del webhook para las Acciones de GitHub no incluye los atributos añadidos
, eliminados
, y modificados
en el objeto de confirmación
. Puedes recuperar el objeto de confirmación completo usando la API REST. Para obtener más información, consulta la sección "Obtener una sola confirmación".
Ejecuta tu flujo de trabajo cuando alguien sube una rama a tu repositorio, lo que activa el evento push
.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
subir | n/a | Confirmación subida, a menos que se elimine una rama (cuando se trata de la rama por defecto) | Ref actualizado |
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento push
.
on:
push
registry_package
Ejecuta tu flujo de trabajo en cualquier momento en que un paquete es publish
(publicado) o updated
(actualizado). Para obtener más información, consulta "Administrar paquetes con Paquetes de GitHub".
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
registry_package | - published - updated | Confirmación del paquete publicado | Rama o etiqueta del paquete publicado |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un paquete ha sido publicado
.
on:
registry_package:
types: [published]
lanzamiento
Nota: El evento release
no se activará para los lanzamientos en borrador.
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento de lanzamiento
. Más de un tipo de actividad desencadena este evento. Para obtener más información sobre la API de REST, consulta la sección "Lanzamientos".
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
lanzamiento | - published - unpublished - created - edited - deleted - prereleased - released | Última confirmación en el lanzamiento etiquetado | Etiqueta de lanzamiento |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un lanzamiento ha sido publicado
.
on:
release:
types: [published]
estado
Ejecuta tu flujo de trabajo en cualquier momento en que alguien cree una rama o etiqueta, que activa el evento crear
. Para obtener más información acerca de la API de REST, consulta la sección "Estados".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
estado | n/a | Última confirmación en la rama por defecto | n/a |
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento de estado
.
on:
status
ver
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento ver
. Más de un tipo de actividad desencadena este evento. Para obtener más información acerca de la API de REST, consulta la sección "Marcar con una estrella".
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
ver | - started | Última confirmación en la rama por defecto | Rama por defecto |
Por defecto, todos los tipos de actividad desencadenan un flujo de trabajo a ejecutarse. Puedes limitar tus ejecuciones de flujo de trabajo a tipos de actividad específicos usando la palabra clave types
. Para obtener más información, consulta "Sintaxis del flujo de trabajo para GitHub Actions".
Por ejemplo, puedes ejecutar un flujo de trabajo cuando alguien coloca una estrella en un repositorio, que es el tipo de actividad comenzado
que activa el evento Ver.
on:
watch:
types: [started]
workflow_run
Este evento ocurre cuando una ejecución de flujo de trabajo se solicita o se completa, y te permite ejecutar un flujo de trabajo con base en el resultado terminado de otro flujo de trabajo. Por ejemplo, si tu flujo de trabajo de pull_request
genera artefactos de compilación, puedes crear un nuevo flujo de trabajo que utilice a workflow_run
para analizar los resultados y agregar un comentario la solicitud de extracción original.
El flujo de trabajo que inició el evento workflow_run
puede acceder a los secretos y tokens escritos que se utilizan en el flujo de trabajo original.
Si necesitas filtrar las ramas de este evento, puedes utilizar branches
o branches-ignore
.
En este ejemplo, se configuró la ejecución de un flujo de trabajo después de que se completen las "Pruebas de ejecución" por separado para el mismo.
on:
workflow_run:
workflows: ["Run Tests"]
branches: [main]
types:
- completed
- requested
Eventos programados
El evento schedule
te permite activar un flujo de trabajo en una hora programada.
programación
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
n/a | n/a | Última confirmación en la rama por defecto | Rama por defecto |
Puedes programar un flujo de trabajo para que se ejecute en horarios UTC específicos usando sintaxis de cron POSIX. Los flujos de trabajo programados se ejecutan en la confirmación más reciente en la rama base o en la rama por defecto. El intervalo más corto en el que puedes ejecutar flujos de trabajo programados es una vez cada 5 minutos.
Este ejemplo activa el flujo de trabajo cada 15 minutos:
on:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '*/15 * * * *'
La sintaxis de cron tiene cinco campos separados por un espacio, y cada campo representa una unidad de tiempo.
┌───────────── minuto (0 - 59)
│ ┌───────────── hora (0 - 23)
│ │ ┌───────────── día del mes (1 - 31)
│ │ │ ┌───────────── mes (1 - 12 o EN-DIC)
│ │ │ │ ┌───────────── día de la semana (0 - 6 o DOM-SÁB)
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
* * * * *
Puedes usar estos operadores en cualquiera de los cinco campos:
Operador | Descripción | Ejemplo |
---|---|---|
* | Cualquier valor | * * * * * se ejecuta todos los días a cada minuto. |
, | Separador de la lista de valores | 2,10 4,5 * * * se ejecuta en el minuto 2 y 10 de la cuarta y quinta hora de cada día. |
- | Rango de valores | 0 4-6 * * * se ejecuta en el minuto 0 de la cuarta, quinta y sexta hora. |
/ | Valores del paso | 20/15 * * * * se ejecuta cada 15 minutos a partir del minuto 20 hasta el minuto 59 (minutos 20, 35 y 50). |
Nota: GitHub Actions no es compatible con la sintaxis que no es estándar @yearly
, @monthly
, @weekly
, @daily
, @hourly
y @reboot
.
Puedes usar contrab guru para generar tu sintaxis de cron y confirmar a qué hora se ejecutará. Para que puedas comenzar, hay también una lista de ejemplos de crontab guru.
Eventos manuales
Puedes activar ejecuciones de flujo de trabajo manualmente. Para activar flujos de trabajo específicos en un repositorio, utiliza el evento workflow_dispatch
. Para activar más de un flujo de trabajo en un repositorio y crear eventos personalizados y tipos de eventos, utiliza el evento repository_dispatch
.
workflow_dispatch
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
workflow_dispatch | n/a | Última confirmacion en la rama de GITHUB_REF | Rama que recibió el envío |
Puedes activar una ejecución de flujo de trabajo manualmente si utilizas la API de GitHub y desde GitHub. Para activar el evento de webhook personalizado de workflow_dispatch
utilizando la API de REST, debes enviar una solicitud de POST
a la terminal de la API de GitHub y proporcionar la ref
y cualquier input
relacionado. Para obtener más información, consulta terminal "Crear un evento de envío de flujo de trabajo" de la API de REST.
Cuando activas el evento en GitHub, puedes proporcionar la ref
y cualquier input
directamente en GitHub. Para obtener más información, consulta "Configurar un flujo de trabajo."
repository_dispatch
Carga del evento Webhook | Tipos de actividad | GITHUB_SHA | GITHUB_REF |
---|---|---|---|
repository_dispatch | n/a | Última confirmacion en la rama de GITHUB_REF | Rama que recibió el envío |
Nota: Este evento solo desencadenará una ejecución de flujo de trabajo si el archivo de dicho flujo se encuentra en la rama master
o en la predeterminada.
Puedes utilizar la API de GitHub para desencadenar un evento de webhook llamado repository_dispatch
cuando quieras desencadenar un flujo de trabajo para una actividad que sucede fuera de GitHub. Para obtener más información, consulta la sección "Crear un evento de envío de repositorio".
Para desencadenar el evento de webhook repository_dispatch
personalizado, debes enviar una solicitud de POST
a un punto final de una API de GitHub y dar un nombre de event_type
para describir el tipo de actividad. Para desencadenar la ejecución de un flujo de trabajo, también debes configurar tu flujo de trabajo para usar el evento repository_dispatch
.
Ejemplo
Predeterminadamente, todos los event_types
desencadenan la ejecución de un flujo de trabajo. Puedes limitar tu flujo de trabajo para que se ejecute cuando un valor específico de event_type
se envíe en la carga útil del webhook de repository_dispatch
. Tú defines los tipos de evento enviados en la carga útil de repository_dispatch
cuando creas el repositorio.
on:
repository_dispatch:
types: [opened, deleted]
Activar nuevos flujos de trabajo mediante un token de acceso personal
Cuando utilizas el GITHUB_TOKEN
del repositorio para realizar tareas por parte de la app de GitHub Actions, los eventos que GITHUB_TOKEN
desencadena no crearán una ejecución de flujo de trabajo. Esto impide que crees ejecuciones de flujo de trabajo recursivas por accidente. Por ejemplo, si un flujo de trabajo sube código utilizando el GITHUB_TOKEN
del repositorio, no se ejecutará un nuevo flujo de trabajo aún si el repositorio contiene alguno configurado para ejecutarse cuando ocurran eventos de subida
de información. Para obtener más información, consulta "Autenticar con el GITHUB_TOKEN".
Si deseas activar un flujo de trabajo desde una ejecución de flujo de trabajo, puedes desencadenar el evento mediante un token de acceso personal. Necesitaras crear un token de acceso personal y almacenarlo como un secreto. Para minimizar tus costos de uso de GitHub Actions, asegúrate de no crear ejecuciones de flujo de trabajo recurrentes o involuntarias. Para obtener más información, consulta "Crear y almacenar secretos cifrados".