Scrumly hugs Github😍

Karsten
uxactly
Published in
2 min readJun 28, 2021

--

After integrating support for Gitlab we finished Github integration last week and it’s in internal testing now.

The integration

Like Gitlab (and almost every other tool) Github provides an API to communicate with the service. From a user perspective the integration behaves like the Gitlab integration. Put a label your tickets for Scrumly in Github, choose the Repository on the Scrumly page and all is there. For more check out our previous post:

The implementation

The Github API has some strange design choices and i personally find it harder to use than the Gitlab API.
For one there is no reliable search functionality. While using the search endpoint i found that regardless of what i do something is missing all the time. This especially true for private repositories where the authenticated user isn’t the owner but is member of the repository.
Second is the behaviour of some other endpoints like the “labels” endpoint. if you POST an array of labels the labels are added and the labels which are already added are untouched, if you POST an empty array all labels will be removed. The removing part sounds more like it belongs to a PUT request, which also exists but lags in documentation.
Besides this the implementation went faster than expected and everything works as expected. Following endpoints where used:

GET https://api.github.com/user/repos: returns all repositories the authenticated user has access to / is member of

GET https://api.github.com/repos/:repo_path/issues: returns all issues of a project.

GET https://api.github.com/repos/:repo_path/issues/:issue_id: returns a specific issue.

GET https://api.github.com/repos/:repo_path/issues/:issue_id/comments: returns comments of an issue.

GET https://api.github.com/repos/:repo_path/issues/:issue_id/labels:
returns all labels of an issue

PUT https://api.github.com/repos/$repo_id/issues/$issue_id/labels: save labels to the issue.

The future

After that we will implement support for JIRA and than Scrumly will be ready for prime time đŸ„ł

More Scrumly Posts:

--

--