Using the Github API in Python – Creating a client feedback toolbuilt ontop of Github Issues



Using the Github API in Python – Creating a client feedback toolbuilt ontop of Github Issues

0 0


slides-github-api


On Github LostProperty / slides-github-api

Using the Github API in Python

Creating a client feedback toolbuilt 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?

Launch MVP Comments system Limit high priority tickets Image upload Automatically grab support details Add multiple client/project handling 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