lostpropertyhq.com

Using the Github API in Python

Creating a client feedback tool
built ontop of Github Issues

Created by Pete Graham / @petexgraham

Github API

  • Good, complete API
  • Automate workflows
  • Build tools which integrate with Github

Github Issues for Project Managment

  • Developers like Github
  • A lot of people don't like JIRA
  • Succesful open source projects use it
  • Very simple

Client Feedback Paradox

  • Feedback sent as Powerpoints, Excel, Emails
  • We want all issues in one place
  • But clients can't write good bug reports

Feedback Tool

  • Client issues go into Github issues
  • But with a label so you can triage them
  • Client doesn't have access to all isssues or source code
  • Open Source, written in Django https://github.com/LostProperty/Feedback

Pypi Github libraries

githubpy
https://github.com/michaelliao/githubpy/
https://pypi.python.org/pypi/githubpy/1.1.0
29 stars


PyGithub
https://github.com/dustin/py-github
https://pypi.python.org/pypi/PyGithub/1.24.0
135 stars

PyGithub Example Code

from github import Github
g = Github("user", "password")

for repo in g.get_user().get_repos():
    print repo.name

Get Github Issues Code

from github import Github
g = Github("user", "password")

github_repo = github.get_repo('LostProperty/Feedback_demo')
filter_label = get_label(github_repo, 'Feedback')
issues = github_repo.get_issues(labels=[filter_label])
for issue in issues:
    print(issue.title)

What next?

  1. Launch MVP
  2. Comments system
  3. Limit high priority tickets
  4. Image upload
  5. Automatically grab support details
  6. Add multiple client/project handling
  7. Launch as a service

Other Github Issues tools

  • ghi command line interface for Issues
  • hub create pull requests from issues
  • London Pyramid Meet-up

    Tuesday 18th March
    Lost Property HQ
    192 St Johns Street
    Clerkenwell