Interesante movimiento de Github al presentar hoy su Commit Status API, una útil API que indique el estado de los commit hechos en nuestros repositorios. Esto permitirá obtener muchas más información de los pull request que se realicen sobre todo si lo combinamos con CI (Integración continua).
Los diversos estados “pending”, “success”, “failure” o “error” nos ayudarán a manejar mejor el código. Así cuando hagamos un commit podemos lanzar los test asociados e indicar en el estado si ha pasado los test dando información adicional con la descripción si no los ha pasado o una url con la salida del build fallido.
Esta nueva API de Github es un gran impulso para aplicaciones que ya estaban trabajando en este tipo de funcionalidades como Travis o Sprint.ly.
Usando Travis para la integración continua podemos ver como la propia herramienta nos notifica en el estado de cada commit si ha sido correcto (ha pasado todos lo test) junto con sus detalles, si ha sido fallido o si hay alguna advertencia cuando está ocupado pasando los test.
En Sprint.ly nos ponen otro ejemplo de uso bastante interesante: un desarrollador hace un commit indicando que un ticket se ha cerrado; Sprint.ly envía un email al equipo, añade el mensaje al commit y marca el commit con la API de Github como “pending” hasta que otro desarrollador lo revise; cuando alguien revisa el ticket se verifica y desde Sprint.ly se indica usando la status API que commit ha sido “success”.
La status API de Github permite añadir más datos a cada commit agregando información interesante para el “exterior”. A bote pronto, se me ocurre que sería interesante integrar esta API de Github con tablones virtuales de Scrum o Kanban, pudiendo enlazar historias o tareas con nuestro código y, por supuesto, con su estado. Algo como Kanbantool enlazado con Github, ¿alguien se pone a ello?
Vía | Github Blog Más información | Documentación Status Commit Github En Genbeta Dev | Travis CI, sistema distribuido de integración continua libre integrado con Github