es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Contabilizando los commits por desarrollador utilizando webhooks

Usando los webhooks de Github, ¿cuál es la mejor manera de contar el número de commits realizados por un desarrollador para un trabajo en particular?

Estaba pensando en hacerlo de esta manera:
1. Escuchar los webhooks relacionados con las fusiones de cualquier PR en la rama “main”.
2. Descartar el evento del webhook a menos que esté relacionado con la rama “main”.
3. Si la fusión del PR es en la rama “main”, entonces averiguar todos los commits (y los desarrolladores relacionados con cada commit) relacionados con esa fusión y calcular un recuento.

¿Todos estos commits (y nombres de los desarrolladores) están incluidos en el evento del webhook?

¿Los commits relacionados con la fusión definitivamente solo estarán compuestos por commits posteriores a la creación de la rama hasta su fusión… o ¿se remontarán hasta el comienzo de la creación del repositorio?

También había considerado escuchar en los webhooks relacionados con los envíos de tipo “Tag”, pero ¿un nuevo evento de tag podría decirme sobre todos los commits entre ese tag y un tag anterior… probablemente no, ¿verdad? Supongo que cualquier tag siempre representaría todos los commits desde el inicio de la creación del repositorio.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Una posible forma de contar el número de commits realizados por un desarrollador para una pieza de trabajo en particular utilizando los webhooks de Github es la siguiente:

    1. Crear un webhook que escuche todos los eventos de push en el repositorio de interés.
    2. Cuando se reciba un evento de push, filtrar los commits para obtener solo aquellos que coincidan con la pieza de trabajo en particular. Esto se puede hacer buscando una palabra clave específica o revisando los archivos que fueron modificados.

    3. Para cada commit, extraer el nombre de usuario del desarrollador y sumar uno a su contador de commits para esa pieza de trabajo.

    4. Mantener un recuento continuo de los commits de cada desarrollador y generar los resultados como un informe.

    Es importante tener en cuenta que los commits relacionados con la pieza de trabajo pueden no estar limitados a los que ocurrieron después de la creación de la rama. Dependiendo del proceso de desarrollo, puede haber commits realizados en otras ramas o en momentos diferentes que estén relacionados con la pieza de trabajo.

    Además, los eventos de etiqueta no son susceptibles de ser útiles para este propósito, ya que representan un punto específico en la historia del repositorio y no proporcionan información sobre todos los commits entre dos etiquetas.

Comments are closed.