À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.