La importancia del CTO. ¿Es realmente importante un CTO para una Startup?

female software engineer coding on computer

En mi rol de mentor e inversionista, es común que me pidan ayuda para encontrar CTO para diferentes startups – lo que ya he realizado en un montón de ocasiones – y cada vez que lo han hecho, me preguntan; “¿Es tan importante tener un CTO?” o “¿Lo necesito para levantar capital?”. Hace un par … Leer más

La importancia de la obsesión para el éxito.

marketing exit technology business

Es necesario ser obsesivo en algo si quieres alcanzar el éxito. La mayoría de la gente piensa que la obsesión es una enfermedad, pero en realidad es una de las principales cualidades de las personas exitosas. La mayoría de la gente no entiende cómo funciona la mente humana y cómo se puede aprovechar al máximo. … Leer más

El desafío de retener talentos en una startup

photo of people near wooden table

Como ya les he comentado en post anteriores, y como lo estuvimos conversando en un grupo de WhatsApp la semana pasada, la escasez de talentos entre las startups es un problema innegable que se vive hoy en día en la industria. Esto, sumado al gran aumento de la demanda de diversos tipos de profesionales -principalmente … Leer más

La importancia del plan de contingencia para el éxito de un emprendedor.

Contingency Plan

Como les comenté en mi último post sobre el valor del fracaso, me he equivocado en varias ocasiones y he aprendido mucho de ello. Una de las lecciones más valiosas que he podido obtener de estas caídas es que siempre hay que estar preparado. Sin importar si eres un estudiante, una startup o tu empresa … Leer más

Filtrar repositorios sin usar en Github

Github API listar repositorios de Organización

Cuando creas una cuenta organizacional en Github y van pasando los años, la probabilidad de que muchas personas tanto internas como externas hayan pasado por tu empresa. Esto mismo pasa con los repositorios, muchos de ellos quedan huerfanos y ya no tiene sentido que existan debido a que su código tampoco está en uso.

Utilizando las APIs de GITHUB es muy sencillo filtrar los repositorios por la última actualización que tuvieron, lo que hace mucho más sencillo el proceso de archivar estos repositorios.

En este mini post mostraré una forma «sencilla» de facilitar la eliminación de los repositorios de tu organización de GitHub sin uso, sin embargo no automatizaremos esta eliminación.

Probando API

En mi caso usaré Postman y como ejemplo una organización que hace tiempo no ocupo para los ejemplos. Recomiendo además leer la documentación original del Api de Github para leer los repositorios de una organización.

Antes que todo, para probar que podamos acceder al API de manera correcta, hagamos una prueba listando todos los repositorios públicos de manera ascendente por fecha de actualización.

curl --location --request GET 'https://api.github.com/orgs/NAITUSEIRL/repos?sort=updated&direction=asc'
Github API listar repositorios de Organización
Github API listar repositorios de Organización

Accediendo a los repositorios privados

En mi caso, y como lo comenté anteriormente, quiero filtrar repositorios en los cuales hayan interactuado personas que ya no trabajan en la empresa, y que además son códigos que no se están utilizando. La mayoría de estos repositorios son privados, por lo que debemos usar nuestras credenciales con permisos de Github para acceder a esta información.

Puedes crear un token nuevo para usar las APIs en la siguiente URL : https://github.com/settings/tokens

Estos tokens funcionan como Bearer Tokens, lo que nos hace muy sencilla la utilización de Postman para consumirlo. En el mismo GET con el que probaron el request anterior, vamos a la pestaña autorización, seleccionamos bearer, y en el nuevo recuerdo de texto ponemos el token de github. En mi caso estoy usando una variable de entorno para hacerlo un poco más seguro y para no tener que editar la imagen :).

Así de sencillo tenemos todos los repositorios, inclusive los privados, de tu organización ordenados por la última fecha de actualización. En caso de que queramos obtener solo los privados, esto lo podemos hacer agregando el parametro a la URL. Quedaría de la siguiente manera ;

curl --location --request GET 'https://api.github.com/orgs/NAITUSEIRL/repos?sort=updated&direction=asc&type=private' \

--header 'Authorization: Bearer MIGITHUBTOKEN'
Filtro repositorios privados Github API
Filtro repositorios privados Github API

TLDR;

En resumen, podemos usar las APIs de Github para ayudarnos a filtrar los repositorios, tanto público como privados, de nuestra organización para luego poder eliminarlos o archivarlos de manera más sencilla. Esto si se puede hacer a mano, pero creo que es mucho más sencillo de esta manera. Éxito en todo !

¡Mantengamos el contacto!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,