Skip to content

dineshappavoo/gitnotus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gitnotus

Build Status

Manage the github events and notify the users

##gitnotus Command Line Interface gitnotus is a set of API's/tools written to manage github events. Event updates will be notified through web hooks.

The following are the core functionalities of the gitnotus CLI:

usage: gitnotus [-h] [-v]
               
	  {addrepo,listinfo,userinfo,list}

##Commands

Option Specification
addrepo add new repository
listinfo get all user and repo info
userinfo display user info
$ gitnotus addrepo -h
usage: gitnotus addrepo [-h] username reponame email

positional arguments:
  username    get the user name
  reponame    get the repository name
  email       get the email address

$ gitnotus listinfo -h
usage: gitnotus listinfo [-h]

$ gitnotus userinfo -h
usage: gitnotus userinfo [-h] username

positional arguments:
  username    get the user name

##Configuration

  • Make apache tomcat web server up and running
  • Make an public URl to post the hook
  • In local use ngrok.com to make an URL. Next two steps are required in case if you do not have an public domain
  • download and install ngrok
  • ./ngrok 8080
  • Add the webhook URL to the git repo
  • Start the webhook_handler to recieve json ./weghook_handler.py
  • Start the local smtp server on port 1025 using the following command 'python -m smtpd -n -c DebuggingServer localhost:1025' to send emails

##Modules: ###Webhook POST Listener:

  • This module listens to the POST url which is hooked with the github api. And invoke mail api to send the notification

###JSON Parser

  • This module the takes post request as JSON object and parse the commit/push information.
  • And it includes commit message, files added, deleted, modified etc.

###Repo Maintainer

  • This module stores and maintains the user and repo information as a pickle file. This also can be maintained in YAML or JSON files
  • Every post request will be compared against this dictionary

##Licensing gitnotus is licensed under MIT License. See LICENSE for full license text.

About

Git event notification API using git webhooks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors