Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/volrath/git-log-reporter
Small web service that reports git logs of requested repositories.
https://github.com/volrath/git-log-reporter
Last synced: about 1 month ago
JSON representation
Small web service that reports git logs of requested repositories.
- Host: GitHub
- URL: https://github.com/volrath/git-log-reporter
- Owner: volrath
- Created: 2014-01-22T22:07:40.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-01-23T03:31:22.000Z (almost 11 years ago)
- Last Synced: 2024-10-28T11:11:11.619Z (3 months ago)
- Language: Python
- Homepage:
- Size: 137 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
==================
Git Log Reporter
==================Small web service built with `Flask`_ that gives a log report of
requested repositories. This web service responds to ``POST`` requests
using ``Content-Type: application/json``.**Disclaimer:** This is still beta. I'd recommend being careful if
it's used in production.Installation and basic usage
============================After cloning this repo you need to edit ``GIT_REPOS_PATH`` in
``app.py`` specifying the root directory where your repositories are,
for example: ``/var/repositories``.Right after that you can run the project::
pip install -r requirements.pip # Right now it only depends on Flask, so you can just install it.
python app.pyThen you can query the service with ``curl`` (or whatever)::
curl -X POST -H 'Content-Type: application/json' -d '{"repos": ["myproject"], "options": {"author": "Daniel Barreto", "since": "1 day ago"}}' http://localhost:5000/
The only required argument in the data passed to the web service is
"repos" which needs to be a list of repository names existing on the
``GIT_REPOS_PATH``.The "options" option can have any verbose option that ``git log``
accepts. If the option does not (or is not required to) accept a value
(for example ``--merges``), you can pass ``null`` as it value.Deployment and possible caveats
===============================Exposing this information to everyone using an open web server can be
a risk for you, so you might want to only allow certain IP addresses
to access the application. An example on how to do this using `Nginx`_
and `gunicorn`_ can be found in ``nginx.conf.example``.Another thing to keep in mind is that the user running the application
needs to be able to access your ``GIT_REPOS_PATH`` and every repo
you'd want a report of... _Flask: http://flask.pocoo.org/
.. _Nginx: http://wiki.nginx.org/
.. _gunicorn: http://gunicorn.org/