{"id":16569992,"url":"https://github.com/andygrunwald/gerrie","last_synced_at":"2025-08-15T21:36:22.947Z","repository":{"id":8514628,"uuid":"10127539","full_name":"andygrunwald/Gerrie","owner":"andygrunwald","description":"A crawler for Googles code review system \"Gerrit\"","archived":false,"fork":false,"pushed_at":"2023-04-04T14:31:37.000Z","size":909,"stargazers_count":10,"open_issues_count":5,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-12T06:41:40.148Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andygrunwald.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing/code.rst","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"andygrunwald","custom":"https://paypal.me/andygrunwald"}},"created_at":"2013-05-17T16:30:24.000Z","updated_at":"2025-04-07T12:20:17.000Z","dependencies_parsed_at":"2024-10-28T16:17:56.735Z","dependency_job_id":"58cdf2d1-fe58-4019-a536-5ea6f5a03077","html_url":"https://github.com/andygrunwald/Gerrie","commit_stats":{"total_commits":324,"total_committers":4,"mean_commits":81.0,"dds":"0.021604938271604923","last_synced_commit":"baf2dcf49b7fb5684f553c8a219aeb8ee02709b4"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/andygrunwald/Gerrie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andygrunwald%2FGerrie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andygrunwald%2FGerrie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andygrunwald%2FGerrie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andygrunwald%2FGerrie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andygrunwald","download_url":"https://codeload.github.com/andygrunwald/Gerrie/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andygrunwald%2FGerrie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270631881,"owners_count":24619384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-15T02:00:12.559Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T21:16:21.247Z","updated_at":"2025-08-15T21:36:22.911Z","avatar_url":"https://github.com/andygrunwald.png","language":"PHP","funding_links":["https://github.com/sponsors/andygrunwald","https://paypal.me/andygrunwald"],"categories":[],"sub_categories":[],"readme":"# Gerrie\n\n[![Build Status](https://secure.travis-ci.org/andygrunwald/Gerrie.png)](http://travis-ci.org/andygrunwald/Gerrie)\n[![Dependency Status](https://www.versioneye.com/user/projects/53554e47fe0d078a76000002/badge.png)](https://www.versioneye.com/user/projects/53554e47fe0d078a76000002)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/andygrunwald/Gerrie/badges/quality-score.png?s=8f10d347018a564f6dacc1b8a796f0150941691b)](https://scrutinizer-ci.com/g/andygrunwald/Gerrie/)\n[![Code Coverage](https://scrutinizer-ci.com/g/andygrunwald/Gerrie/badges/coverage.png?s=ab1ccbb607ee2d00f97c32e87b7395ef5d6daa72)](https://scrutinizer-ci.com/g/andygrunwald/Gerrie/)\n[![Documentation Status](https://readthedocs.org/projects/gerrie/badge/?version=latest)](https://readthedocs.org/projects/gerrie/?badge=latest)\n\n*[Gerrie](https://andygrunwald.github.io/Gerrie/)* is a data and information crawler for *[Gerrit](https://code.google.com/p/gerrit/)*, a code review system developed by Google.\n\n*Gerrie* uses the SSH and REST-APIs offered by *Gerrit* to transform the data from Gerrit into a RDBMS. Currently only MySQL is supported.\nAfter the transformation the data can be used to start simple queries or complex analysis. One usecase is to analyze communites which use *Gerrit* like [TYPO3](https://review.typo3.org/), [Wikimedia](https://gerrit.wikimedia.org/), [Android](https://android-review.googlesource.com/), [Qt](https://codereview.qt-project.org/), [Eclipse](https://git.eclipse.org/r/) and [many more](http://en.wikipedia.org/wiki/Gerrit_(software)#Notable_users).\n\n* Website: [andygrunwald.github.io/Gerrie](https://andygrunwald.github.io/Gerrie/)\n* Source code: [Gerrie @ GitHub](https://github.com/andygrunwald/Gerrie)\n* Documentation: [*Gerrie* @ Read the Docs](https://gerrie.readthedocs.org/en/latest/)\n\n**Gerrie is deprecated**: [watson](https://github.com/andygrunwald/watson) will be replace *Gerrie*. Watson benefits from our learnings of developing and maintaing Gerrie in a larger (crawling) scale. Checkout [#17](https://github.com/andygrunwald/Gerrie/pull/17) for some more information.\n**Neverless we still merge and support contributions to Gerrie**.\n\n## Features\n\n* Full imports\n* Incremental imports\n* Full support of SSH API\n* Command line interface\n* MySQL as storage backend\n* Debugging functionality\n* Logging functionality\n* Full documented\n\n## Getting started\n\nDownload application and install dependencies:\n```bash\n$ git clone https://github.com/andygrunwald/Gerrie.git .\n$ composer install\n```\n\nCopy config file and adjust configuration (*Database*, *SSH*, *Gerrit*):\n```bash\n$ cp Config.yml.dist Config.yml\n$ vim Config.yml\n```\n\nA minimalistic configuration for the *TYPO3 Gerrit instance* with the user *max.mustermann* can look like:\n```yaml\nDatabase:\n  Host: 127.0.0.1\n  Username: root\n  Password:\n  Port: 3306\n  Name: gerrie\n\nSSH:\n  KeyFile: /Users/max/.ssh/id_rsa_gerrie\n\nGerrit:\n  TYPO3:\n    - ssh://max.mustermann@review.typo3.org:29418/\n```\n\nCreate a new database in your database with name *gerrie* and setup database scheme:\n```bash\n$ mysql -u root -e \"CREATE DATABASE gerrie;\"\n$ ./gerrie gerrie:setup-database --config-file=\"./Config.yml\"\n```\n\nCreate an account (e.g. *max.mustermann*) in the Gerrit instance you want to crawl (e.g. *review.typo3.org:29418*), add your SSH public key to the Gerrit instance and execute the *gerrie:check* command to check your environment:\n```bash\n$ ./gerrie gerrie:check --config-file=\"./Config.yml\"\n```\n\n\u003e **Important:**\nIf your SSH key is protected by a passphrase this check will ask you to enter your passphrase to use the private key for this connection.\nGerrie does not save or transfer this passphrase to any foreign server.\nThe private key is only necessary to authenticate against the Gerrit instance.\n\nIf everything is fine start crawling:\n```bash\n$ ./gerrie gerrie:crawl --config-file=\"./Config.yml\"\n```\n\nNow the crawler starts and is doing its job :beer:\n\nYou reading can continue in the documentation in the chapters [Installation](https://gerrie.readthedocs.org/en/latest/installation/index.html), [Configuration](https://gerrie.readthedocs.org/en/latest/configuration/index.html), [Commands](https://gerrie.readthedocs.org/en/latest/commands/index.html), [Database](https://gerrie.readthedocs.org/en/latest/database/index.html) or [Contributing](https://gerrie.readthedocs.org/en/latest/contributing/index.html).\n\n## Documentation\n\nThe complete and detailed documentation can be found at [*Gerrie* @ Read the Docs](https://gerrie.readthedocs.org/en/latest/).\nThe documentation is written in [reStructuredText](http://en.wikipedia.org/wiki/ReStructuredText) and shipped with the source code and can be found in the [*docs/*](https://github.com/andygrunwald/Gerrie/tree/master/docs) folder.\n\n## Source code\n\nThe source code can be found at [*andygrunwald/Gerrie @ GitHub*](https://github.com/andygrunwald/Gerrie).\n\n## Contributing\n\nContribution is welcome at every time.\n\nContribution is not limited to source code. Also documentation, issues (bugs, new features, nice improvements), talks at usergroups or conferences and so on.\nIn our documentation you can find more detailed information about contribution.\n\nSee [*Gerrie: Contribution* @ Read the Docs](http://gerrie.readthedocs.org/en/latest/contributing/).\n\n## License\n\nThis project is released under the terms of the [MIT license](http://en.wikipedia.org/wiki/MIT_License).\n\n## Support, contact or feedback\n\nIf you got questions, got feedback, getting crazy with setting up or using this project or want to drink a :beer: and talk about this project **just contact me**.\n\nWrite me an email (see [*Andy @ GitHub*](https://github.com/andygrunwald)) or tweet me ([@andygrunwald](http://twitter.com/andygrunwald)).\nAnd of course, you can just open an issue in the [*Gerrie* tracker](https://github.com/andygrunwald/Gerrie/issues).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandygrunwald%2Fgerrie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandygrunwald%2Fgerrie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandygrunwald%2Fgerrie/lists"}