Às vezes é meio chato ter que acessar o GitHub toda vez para ver os status dos seus repositórios. Uma vez tivemos que utilizar a API diretamente para fazer uma ação, onde tínhamos que verificar as contribuições de algumas contas do GitHub em repositórios específicos.
No artigo de hoje vamos aprender a capturar os dados de repositórios GitHub em PHP utilizando o PHP GitHub API.
Bem, vamos colocar a mão na massa. Primeiramente vamos criar uma pasta GitHub e dar um:
composer require knplabs/github-api php-http/guzzle6-adapter

Agora vamos explorar a biblioteca um pouco. Verificaremos os repositórios do próprio Knplabs e salvaremos o código como repositories.php:
<?php
require_once('vendor/autoload.php'); //autoload do composer
use Github\Client; //usando a classe client do Github
$client = new Client(); //instanciando o client
$repositories = $client->api('user')->repositories('KnpLabs');
//retornando os repositórios do KnpLabs
foreach($repositories as $repository) //iterando os repositórios
{
print ($repository['full_name'] . PHP_EOL); //exibindo os nomes dos repositórios
}

<?php
require_once('vendor/autoload.php'); //autoload do composer
use Github\Client; //usando a classe client do Github
$client = new Client(); //instanciando o client
$followers = $client->api('user')->followers('pokemaobr');
//retornando os repositórios do KnpLabs
foreach($followers as $follower) //iterando os repositórios
{
print ($follower['login'] . PHP_EOL); //exibindo os nomes dos repositórios
}

O interessante da biblioteca é que ela abstrai quase toda a API do GitHub. Então, por exemplo, você pode retornar os repositórios com estrelas de uma conta GitHub dando um $client->api(‘user’)->starred($conta);
Caso queira os dados de uma conta em específico:
$client->api(‘user’)->show($conta);
E há muitos métodos para abstrair: usuários, repositórios, gists e etc. A biblioteca é muito bem documentada em seu código, então é só abrir o código no repositório da biblioteca que é sucesso.
Um grande abraço, pessoal! Até a próxima.




