Removes the specified Collaborators from all repositories of the target Gituhub account.
Please check this Github for details.
Overall picture
/**
* GLOBAL
* gitアカウントのメールアドレス
* ログインパスワード
* githubのアカウント名
* 削除したいユーザー
* を入力してください。
*/
$Email = '';
$PASS = '';
$USER = '';
$DELTE_USER = '';
/**
* 下記のAPIを実行し、api.jsonを作成してください。別途アクセストークンが必要です。
* curl "https://api.github.com/user/repos?access_token={token}&per_page=100&page=1&sort=created" > api.json
*/
$url = './api.json';
$json = file_get_contents($url);
$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');
$arr = json_decode($json,true);
echo $count = count($arr);
for ($i = 0; $i < $count; ++$i) {
$repoName = $arr[$i]['name'];
$cmd = "curl -X DELETE -u $Email:$PASS 'https://api.github.com/repos/$USER/$repoName/collaborators/$DELTE_USER'";
echo $repoName;
echo exec($cmd);
}
First, please get APIKey from setting of Github management screen.
In that case, please check the repo of Select scopes.
After obtaining the access token, execute the following command to create api.json.
curl "https://api.github.com/user/repos?access_token={token}&per_page=100&page=1&sort=created" > api.json
Specify a variable of remove.php.
$Email = 'hoge@gmail.com';
$PASS = 'password';
$USER = 'MyName';
$DELTE_USER = 'user_id';
Run remove.php
php remove.php
Supplement
A maximum of 100 repositories can be acquired.
If you want to get more than 100 repositories, create additional json file separately as below,
Run PHP again specifying the file.
curl "https://api.github.com/user/repos?access_token={token}&per_page=100&page=2&sort=created" > api_2.json
remove.php
$url = './api_2.json';
Top comments (0)