Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matomo-org/github-issues-mirror
Provides a read-only mirror for your GitHub issues
https://github.com/matomo-org/github-issues-mirror
Last synced: 3 months ago
JSON representation
Provides a read-only mirror for your GitHub issues
- Host: GitHub
- URL: https://github.com/matomo-org/github-issues-mirror
- Owner: matomo-org
- License: gpl-3.0
- Archived: true
- Created: 2014-07-11T00:40:26.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-08-16T20:26:44.000Z (over 2 years ago)
- Last Synced: 2024-04-14T00:59:43.787Z (10 months ago)
- Language: PHP
- Homepage:
- Size: 181 KB
- Stars: 42
- Watchers: 19
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - matomo-org/github-issues-mirror - Provides a read-only mirror for your GitHub issues (others)
README
# GitHub Issues Mirror
This project allows you to provide a read-only mirror for your GitHub issues which brings several advantages:
* Data ownership
* Better for SEO in case not all of your GitHub issues are indexed by Google
* In case GitHub is down you can still access your issuesTry it, it's easy to setup! No database needed
## Setup
* `git clone [email protected]:matomo-org/github-issues-mirror.git`
* `cd github-issues-mirror/src`
* `curl -s https://getcomposer.org/installer | php`
* `php composer.phar install`
* `npm install`
* `npm run compileCSS`
* `cp config/config.example.php config/config.php`Make sure to point your vhost to `src/public`. The `src/tmp` and the `src/data` directories have to be writable.
### Import issues from GitHub
`cd src/tasks && php import_github_issues.php`
You may want to setup a cronjob to import the issues regularly. The first time you run the importer you might run into the [Rate Limit](https://developer.github.com/v3/rate_limit/). In such a case just execute the script an hour later again. As [conditional requests](https://developer.github.com/v3/#conditional-requests) are used it should fetch only changed and not already imported issues the next time. Meaning after executing this script often enough you should no longer run into the rate limit.
## Configuration
See [src/config/config.php](src/config/config.example.php)
## Data structure
All issues are stored as JSON on the file system in [src/data](src/data):
* There is one JSON file for each issue in [src/data/issues](src/data/issues). To not end up having too many files in one directory they are split into subdirectories from 1 to 100. Otherwise the file names are equal to the issue number: 1875.json = Issue 1875.
* There is one JSON file for each page in [src/data/pages](src/data/pages). `1.json` === Page 1, `2.json` === Page 2, ...## License
GPL v3 (or later) see [LICENSE](LICENSE)