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,

¡MANTENGÁMONOS EN 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,

Agregando un repositorio privado de GitHub a Composer

Composer

Como agregar un repositorio privado de github a nuestro proyecto utilizando composer para manejar los repositorios usando el token oauth.

Hace poco que tengo algunos proyectos privados en GitHub ya que estaba bastante acostumbrado a usar Bitbucket para esto. La razón de la migración es que había tenido problemas con la carga de las librerías privadas usando Composer desde Bitbucket así que le di una oportunidad a GitHub.

Para los que no saben Composer es repositorio de librerías para php que maneja las dependencias de tus proyectos. Es bastante útil para no reusar código y manejar las actualizaciones de todas tus aplicaciones simplemente con un «Update».

De manera simple se crea un archivo composer.json en donde está la información básica del proyecto y sus dependencias.

Para poder agregar un repositorio privado necesitamos lo siguiente.

  1. Generar el Token para el acceso desde GitHub
  2. Crear el composer.json que usará el repositorio privado
  3. Agregar nuestro token.
  4. Installar las dependencias.

Generando el token de acceso.

Fuente : https://help.github.com/articles/creating-an-access-token-for-command-line-use/

  1. Una vez ingresado a tu dashboard de GitHub selecciona tu foto de perfil en la esquina superior derecha y en el menú que aparece haz click en Settings.
  2. Una vez en Settings hacemos click en «Personal Access Tokens»
  3. Creamos un nuevo token dándole el nombre y los permisos correspondientes.
  4. Guardamos el token recién creado.

Generando un composer.json mínimo.

{
    "repositories": [
        {
            "type": "vcs",
            "url": "[email protected]:NAITUSEIRL/NOMBRELIBRERIA.git"
        }
    ],
    "require": {
        "ctala/NOMBRELIBRERIA": "dev-master"
    }

}

En el ejemplo anterior simplemente agregamos el repositorio privado que usaremos. Cuando se específica el tipo de repositorio VCS se hace para que se detecte automáticamente a que tipo de repositorio corresponde.

Es importante usar la notación de ssh (git@github) y no de https para la dirección del repositorio o este simplemente no funcionará.

Agregando el token a la configuración.

Agregar el token es bastante sencillo debido a que Composer ya tiene una herramienta que nos ayuda para esto. En este caso simplemente ejecutamos :

$ composer config -g github-oauth.github.com TOKENBASTANTELARGO

Esto permite que podamos acceder al repositorio privado agregado anteriormente con el access token.

Finalizando.

Ya teniendo todo en orden nos vamos a nuestra carpeta en donde tenemos nuestro composer.json y simplemente ejecutamos la instalación de las librerías.

$ composer install

Si todo salio bien se descargarán todas las librerías de dependencia incluyendo la privada que especificamos en el repositorio.

¡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,

¡MANTENGÁMONOS EN 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,

Como borrar un branch remoto en GIT

Intenté antes de averiguar esto de muchas informas incluyendo algo como : git branch -d remotes/bitbucket/BRANCH pero la verdad es que era mucho más sencillo. No se la razón del por que no funciona de la misma manera que eliminar branch locales pero esta es la forma de eliminarlos. git push bitbucket :BRANCH En mi … Leer más

Importar repositorio Git SSH a BitBucket.

Después de pasar mucho tiempo manteniendo mis propios servidores GIT apareció por arte de magia BitBucket.

BitBucket es un servidor de repositorios gratuito ( dependiendo del plan ) que maneja git y subversion de manera privada y pública, que además tiene muchas herramientas super útiles para el desarrollo, como wikis y bugtracking.

LO ÚNICO QUE LE FALTA es como acceder directamente para hacer la migración desde SSH, para bien esto es super sencillo.

Se asume que:

  1. Ya posees un servidor git a través de ssh de algún proveedor o propio.
  2. Lo tienes en tu computador.
  3. Posees una cuenta en BitBucket.
  1. Primero que todo, creemos el nuevo repositorio al cual migraremos el nuestro. ( OJO en nuestro caso es GIT el tipo ).
  2. Aseguremonos que el repositorio que tenemos en nuestro computador sea el más actualizado del que queremos agregar al nuevo.
  3. BitBucket provee una ayuda para sunir tu código, en este caso nos recomienda usar el nombre ORIGIN. En general es el nombre por defecto por lo que deberemos cambiarlo.
Creando un nuevo repositorio en GIT con BitBucket
Como Importar con BitBucket.

 

Ahora vamos en consola a nuestro repositorio y simplemente ejecutamos :

git remote add bitBucket https://[email protected]/MIUSUARIO/MIREPO.git
git push -u bitBucket master

 

De esta manera agregamos toda la información de nuestro repositorio a Bitbucket.

Lo que hicimos:

  1. Agregar Bitbucket bajo en lonble bitBucket a la lista de repositorios.
  2. Enviar toda la información a nuestro nuevo servidor.
Así de sencillo !

 

¡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,

¡MANTENGÁMONOS EN 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,

Como instalar GIT en un VPS de HOSTGATOR ( Centos 5.5 )

Por defecto, hostgator dice tener compatibilidad tanto como para server como para cliente de GIT. El problema es que no incluye los repositorios para instalarlo…… Pero bueno, es bastante sencillo compilar git en el servidor de hostgator. Primero instalamos las dependencias : yum install gcc zlib-devel curl-devel Descargamos y Descomprimimos: wget http://git-core.googlecode.com/files/git-1.7.8.4.tar.gz tar xvzf git-1.7.8.4.tar.gz … Leer más

Share to...