Realice un seguimiento de la actividad del repositorio de GitHub en tiempo real en Slack utilizando esta API.

La integración de GitHub con Slack lo ayudará a optimizar la comunicación de su equipo al informarles sobre los eventos del repositorio en tiempo real. Esta integración ayuda a colaborar de manera más eficiente, discutir cambios en el contexto de la base de código y abordar rápidamente cualquier inquietud que pueda surgir durante el desarrollo.

Además, la integración de GitHub con Slack le permite personalizar las notificaciones para que se adapten al flujo de trabajo único de su equipo. Esto minimiza las distracciones y se enfoca en lo que realmente importa. Este enfoque personalizado de la comunicación le permite a su equipo tomar decisiones informadas y tomar medidas oportunas, lo que garantiza un resultado de la más alta calidad.

Paso 1: crea una nueva aplicación de Slack

Para seguir adelante, debes sentirte cómodo. usando la plataforma Slack. También debe estar familiarizado con GitHub.

instagram viewer

El primer paso de la integración es crear una nueva aplicación de Slack. Esta aplicación será responsable de publicar mensajes en el canal de Slack seleccionado cuando ocurra un evento de repositorio. Para crear una nueva aplicación, vaya a la Sitio web flojo e inicie sesión en su cuenta. Luego, cree un nuevo espacio de trabajo. Utilizará este espacio de trabajo para probar su aplicación antes de instalarla en el espacio de trabajo de su equipo.

Navegar a la Sitio web de la API de Slack en una nueva pestaña del navegador.

Haga clic en tus aplicaciones botón. En la página que aparece, haga clic en el Crear nueva aplicación botón.

Elija la opción para crear la aplicación desde cero. Luego, asigne un nombre a su aplicación y elija el espacio de trabajo en el que desea instalarla.

Clickea en el Crear aplicación botón. Esta acción creará su nueva aplicación de Slack y lo redirigirá a su tablero.

Paso 2: configurar un webhook entrante de Slack

Un webhook entrante de Slack le permite enviar mensajes desde fuentes externas a su espacio de trabajo de Slack. Para configurar el webhook, elija el Webhooks entrantes característica. Asegúrate de encender el Activar webhooks entrantes botón.

Desplácese hacia abajo hasta el URL de webhook para su espacio de trabajo sección. Clickea en el Agregar nuevo webhook al espacio de trabajo botón.

Slack te pedirá que elijas el canal en el que tu aplicación publicará mensajes. Elija el canal y haga clic en el Permitir botón.

Esto agregará su aplicación al canal seleccionado. volver a la URL de webhook para su espacio de trabajo sección. Copia lo generado URL del webhook. Esta es la URL a la que GitHub enviará las notificaciones de eventos del repositorio.

Ya ha terminado de configurar el lado de Slack.

Paso 3: configurar el repositorio de GitHub

Navegar a la Sitio web de GitHub e inicie sesión en su cuenta. Vaya al repositorio del que desea recibir las notificaciones de eventos. Tú también puedes crear un nuevo repositorio. Clickea en el Comportamiento pestaña debajo del nombre del repositorio.

Luego haga clic en el configure un flujo de trabajo usted mismo enlace. La siguiente página que aparece requiere que cree un archivo YAML en el directorio de flujos de trabajo de GitHub. Este archivo define el flujo de trabajo de GitHub Actions responsable de enviar notificaciones a su espacio de trabajo de Slack.

Escribirás el código YAML en el editor integrado. Este código integrará GitHub con Slack mediante el envío de notificaciones a un canal de Slack cuando ocurran eventos específicos en el repositorio.

El código fuente completo utilizado en este artículo está disponible en un repositorio GitHub.

Paso 4: escriba el código YAML para integrar GitHub con Slack

Asigne un nombre a su flujo de trabajo. Siéntase libre de elegir el nombre de su agrado.

nombre:FlojoNotificación

Especifique los eventos que activarán el flujo de trabajo. Aquí es donde elige los eventos de los que desea que se notifique a su equipo. Agregue o elimine los eventos para que se ajusten a sus requisitos.

en:
empujar:
solicitud de extracción:
asuntos:
tipos:
-abrió
-cerrado
-reabierto
-editado
-eliminado
-anclado
-sin fijar
-asignado
-no asignado
-etiquetado
-sin etiquetar
-marcado
-desmontado
problema_comentario:
tipos:[creado,editado,eliminado]
crear:
borrar:

Configure su trabajo y elija el entorno virtual en el que se ejecutará. notificar_holgura es el nombre del trabajo. Puedes cambiarlo a tu gusto.

trabajos:
notificar_holgura:
se ejecuta en:ubuntu-último

Configure un paso que será responsable de enviar una notificación a Slack.

pasos:
-nombre:EnviarFlojonotificación

Defina una variable de entorno llamada SLACK_WEBHOOK_URL. Almacenará la URL del webhook de Slack. Luego agregará la URL a los secretos del repositorio de GitHub.

env:
SLACK_WEBHOOK_URL:${{misterios. SLACK_WEBHOOK_URL}}

Configurar el holgura de acción Acción de GitHub. Que es una acción de terceros que maneja la lógica subyacente de interactuar con la API de Slack. Le permite concentrarse en configurar los mensajes y eventos que activan las notificaciones. Esto hace que el proceso de envío de notificaciones a Slack sea mucho más fácil.

usos:8398a7/acción-holgura@v3

Este código utiliza el 8398a7/acción-holgura@v3acción.

Configurar el 8398a7/acción-holgura@v3 acción con parámetros personalizados. El estado El parámetro establece el estado del mensaje en costumbre. Le permitirá definir el contenido del mensaje de Slack utilizando una carga útil personalizada. El campos El parámetro enumera los campos que se incluirán en el mensaje de Slack.

con:
estado:costumbre
campos:repositorio, confirmación, evento, acción, flujo de trabajo, referencia, URL

Crear un carga útil_personalizada que personalizará la apariencia del mensaje de Slack para adaptarlo a sus preferencias.

carga útil_personalizada:|
{
"archivos adjuntos":[
{
"color":"${{ trabajo.estado }}",
"título":>-
${{github.actor}}${{github.event.pull_request&&github.event.pull_request.merged==verdadero&&'fusionó una solicitud de extracción'||github.event.pull_request&&'abrió una solicitud de extracción'||github.event_name=='empujar'&&'impulsó nuevos cambios'||github.event_name=='crear'&&'creó una nueva rama o etiqueta'||github.event_name=='borrar'&&'eliminó una rama o etiqueta'||github.event_name=='asuntos'&&github.event.action||'desencadenó un evento'}},
"texto":>-
:tada:Detalles del evento:

-Repositorio:${{github.repositorio}}
-Rama:${{github.ref}}
-Mensaje:${{github.event_name=='empujar'&&github.event.head_commit.message||github.event_name=='asuntos'&&github.event.issue.title||github.event_name=='solicitud de extracción'&&github.event.pull_request.título||''}}
-:globo_con_meridianos:Enlace:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repositorio.html_url}}
}

]
}

Puedes referirte a la 8398a7/action-slack@v3 caso de uso personalizado para encontrar todas las personalizaciones admitidas. Confirme el archivo YAML para crear el nuevo flujo de trabajo.

El último paso para integrar GitHub con Slack es agregar un nuevo secreto de repositorio. El secreto en este caso es el URL de webhook de Slack copiaste de Slack. Mantenga esta URL en secreto ya que cualquier persona que tenga acceso a ella puede enviar mensajes a su espacio de trabajo.

Navegue a la configuración de su repositorio. Clickea en el secretos y variables bajo la seguridad característica. Selecciona el Comportamiento opción.

Haga clic en Nuevo repositorio secreto. Agregue el nombre del secreto como SLACK_WEBHOOK_URL. Luego pega el URL de holgura en el campo Secreto. Finalmente, haga clic en el Agregar secreto botón para guardar el nuevo secreto.

Ahora ha terminado de integrar GitHub con Slack. Cada vez que ocurra un evento en tu repositorio, se mostrará un mensaje en tu canal. Intentar creando una nueva solicitud de extracción. Esto activará un evento de inserción.

La siguiente captura de pantalla muestra mensajes de muestra en Slack que muestran eventos que tuvieron lugar en un repositorio.

Puede personalizar la carga del mensaje para incluir otros campos que considere necesarios.

Mejore su productividad con las integraciones de Slack

GitHub no es la única integración de Slack que puedes agregar a tu espacio de trabajo. Existen numerosas integraciones que puede utilizar para mejorar la productividad de su equipo y mejorar su comunicación. Familiarizarse con estas integraciones lo ayudará a optimizar el flujo de trabajo de su equipo y mantener a todos en la misma página.