Blog | Gengo

  Shawn Smith

Gengo ports GitHub Survivor to JIRA

2 Comments

At Gengo, we’re passionate about open source as well as squashing bugs in our codebase. That’s why when we read about the 99designs project, GitHub Survivor, we knew our engineers had to have it. The problem was we use Atlassian JIRA to track our issues, and GitHub Survivor was designed for GitHub issues. But that didn’t stop us from hacking it to use JIRA instead!

So we forked the GitHub Survivor codebase, renamed it to JIRA Survivor, and set off to port it to use JIRA issues.

First, we had to learn how to work with the JIRA API. Luckily, we found some documentation for a REST API to integrate JIRA with other applications. Since the original GitHub Survivor code is in Python, however, it would be ideal to have a Python client for the JIRA API so that it can be more easily integrated. We found a Python package called jira-python that fit the needs of the project perfectly.

After slightly modifying the config file as well as porting the codebase to work with JIRA users and issues instead of GitHub users and issues, we came up with a working clone of GitHub Survivor for JIRA.

It looks and works the same as GitHub Survivor, so if you use JIRA and thought it might be cool to have something similar, feel free to try out our JIRA Survivor.

And of course, pull requests are welcome. Enjoy.

Please excuse the slightly disrespectful use of Wolfram’s book…

Shawn Smith
THE AUTHOR
Shawn Smith
Shawn is a software developer from Boston, Massachusetts. After graduating from Northeastern University, he moved to San Francisco to work for Rackspace, and now works at Gengo in Tokyo. His favorite programming language is Go.
  • Millsy

    ROCK IT SHAWN!

  • Nick

    Hi mate, just wondering, is it possible to have this app scrape for issues of type Story rather than Bug and output the same kind of leader stats? I have looked through the source a bit but not exactly sure what I am looking for or if it’s possible as the Story format may differ from Bug. I had a few attempts but none of them worked. Any Ideas?
    Cheers!