A program to search for own repositories from Github, Gitlab, and Bitbucket written in Go.
go get github.com/MircoT/reposcraperIf you have correctly configured Go, just use reposcraper from the command line and puts the configuration file in your home folder $HOME/.reposcraper/config.json. Read the following documentation for the configuration file requirements.
Edit the config.example.json and rename it config.json.
You have to put the information for each service you want to use.
For example, if you need only the GitHub search you have to add only this information:
{
"github": {
"username": "your username",
"token": "your token"
},
}After that, you can start to use the program simply by typing:
go run .You can also build the executable and then use it:
go build
./reposcraperAfter the program collected all the repositories information (name and description, if it is private or not), you can type to search for a repository and select it from the suggestions. Select the correct response by pressing enter and the program will try to open the repository in the browser using its URL.
By default, the program search also the repository you starred.
To search for a specific type, use the flag type:
Search for a repository that you own or you starred
Usage:
reposcraper [flags]
Flags:
--config string config file (default "./config.json")
-h, --help help for reposcraper
--type string search type: [all, starred, owned] (default "all")
The program needs the following token from the various services:
- GitHub: a personal access token with the
repoanduserscopes. - GitLab: a personal access token with the
apiandread_repositoryscopes - Bitbucket: an OAuth consumers with the following characteristics:
- Callback URL:
http://localhost/bitbucket(or whatever you want, it is not used but only required by the Bitbucket API) This is a private consumeroption checked- Permission on
Projects Read
- Callback URL:
Then, you can compile the config file with the proper information:
{
"github": {
"username": "user",
"token": "yyy"
},
"gitlab": {
"username": "user",
"token": "zzz"
},
"bitbucket": {
"username": "user",
"key": "aaa",
"secret": "bbb"
}
}Note: if a service is missing it will not be used.
git clone https://github.com/MircoT/reposcraper.git
cd reposcraper
go build