Notificaciones push desde github a nuestro IM

El concepto de desarrollador ha cambiado desde hace un par de años. Antiguamente todo el mundo escribia sus programas, o se adaptaba algo de software libre. Ahora se busca la integración de todos los servicios mediante APIS.

Por una razón o por otra me ha tocado estar en los dos lados de una API. En la de diseño del API de webphone, y en el consumo de las mismas. Siempre que he tenido la oportunidad de usarlas he echado de menos la información push. Siempre se puede arreglar con el uso de base de datos y celery, pero bueno, no es lo mismo.

XMPP es un protocolo que se puede usar para todo, tanto como un sistema de mesajeria corporativo, como servicio de presencia o para desplegar servicios soa.

xmpp

Github tiene una lista de servicios push bastante interesante con cada repositorio (ademas los tiene liberados bajo software libre), uno de ellos es la integración con Jabber. En un sistema de varios desarrolladores suele ser útil para notificar al resto de usuarios de una nueva versión de código en el repositorio.En mi actual empresa además parcheamos la entrada e insertamos los datos en nuestra plataforma de tareas.

github

Para configurar las notificaciones en un repositorio de Github solamente tenemos que hacer lo siguiente, opciones/servicios/jabber y setear el usuario/conferencia que deseemos.

Leer los datos con python no es una tarea muy complicada, y aqui os dejo un pequeño trozo de código que espera la entrada de un commit de github

La verdad que echo de menos una lista de triggers en muchos servicios en los que cuando ocurra una accción que se notifique mediante XMPP. Hay librerías para todos los lenguajes y se puede reducir mucho las peticiones REST que simplemente se hacen si existe algún cambio.