대상 github 계정의 모든 저장소에서 지정한 Collaborators를 제거합니다.

5943 단어 GitGitHub

대상 github 계정의 모든 저장소에서 지정한 Collaborators를 제거합니다.


안녕하십니까?
이번에github 계정의 모든 저장소에서 같은 Collaborators를 한꺼번에 삭제하는 스크립트를 만들었습니다.나는 회사 내에서 공유된 계좌에서 구성원을 이탈하는 경우에 유효하다고 생각한다.(자신이 퇴사해야 하기 때문에 수동으로 Collaborators를 삭제하는 것이 귀찮아서 w를 만들었다)
자세한 내용은 이쪽 Rin을 확인하세요.

총체적


remove.php

 /**
     * 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);
    }

사용 방법


먼저 Github의 Github부터 APIKEY를 생성합니다.Select scopes의 repo를 확인하십시오.
setting
방문 영패를 받은 후 다음 명령을 실행하고api를 실행합니다.json을 만듭니다.
.bash
curl  "https://api.github.com/user/repos?access_token={token}&per_page=100&page=1&sort=created" > api.json
remove.php의 변수를 지정합니다.
remove.php
$Email = '[email protected]';
$PASS = 'password';
$USER = 'MYACCOUNT';
$DELTE_USER = 'user_id';
remove.php를 실행합니다.
.bash
php remove.php

주의사항

  • 저장소는 최대 100개만 얻을 수 있습니다.100개 이상의 저장소를 가져오려면 다음과 같이 다른 json 파일을 생성하고 파일을 지정하고 PHP를 다시 실행해야 합니다.
  • .bash
    
    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';
    
  • organization 계정 정보
    이 스크립트는 정상적인 사용자 계정에서 조작을 보장하지만, 가능하다, ~할 수 있다,...
    아래의 API를 사용하면 같은 일이 가능할 것 같습니다.(검증되지 않았습니다.)
    참조
  • .bash
    
    curl  "https://api.github.com/orgs/repos?access_token={token}&per_page=100&page=1&sort=created" > api.json
    
    

    매혹적인 곳


    액세스 영패를 사용하면 - u 옵션과 같은 사용자를 지정할 필요가 없습니다.(오히려 지정하면 잘 얻지 못했다.)

    좋은 웹페이지 즐겨찾기