開発者ブログ by playground

playgroundの技術系ブログ

Ruby + Github API を利用してalfred3 workflowを作る

自己紹介

初めまして、playgroundエンジニアの蔡樺です。

中国から日本に来て2年になります。

プロジェクト開発(主にRuby)やandroidアプリ開発に興味があり、大学院に通いながら4ヶ月ほど前からplaygroundで働かせていただいてます。

趣味はお菓子を作ることとお茶を賞味することです。

github.com


AlfredのCreate Issueワークフローを作成した。

リリース:https://github.com/playground-live/alfred-github-workflow

作成経緯

  • GitHubのissueは仕事中でよく使うので、もっと効率的に使いたいと思った。
  • GitHubリポジトリの検索ワークフローがあって、issue検索にも適応できると考えた。←(実際にとても参考になりました!)
  • Alfredでissueを検索とか、新規作成とかできれば、すごく便利だと思った。

github.com

概要

Create Issue は Aflred 3対応のGitHub issueを検索と新規ワークフローである。

出来る機能は:

  • issue検索
  • assigned-issue検索
  • all-issue検索(closed issue含む)
  • issue作成

SetUp

  • tokenの取得

repo権限のみをつけたtokenを発行して、取得したtokenをコピーする。

f:id:playground-live:20171101153009g:plain

  • tokenの保存

コピーしたtokenをこのようにalfred で入力する。

gi-auth YourAccessToken

f:id:playground-live:20171101144205g:plain

  • リポジトリ登録

登録したいrepoを選択する。

gi-repo

f:id:playground-live:20171101144544g:plain

機能

  • issue検索

gi

f:id:playground-live:20171101145712g:plain

  • all-issue検索

gi-all

f:id:playground-live:20171101150227g:plain

  • assigned-issue検索

gi-assigned

f:id:playground-live:20171101150908g:plain

  • issue作成

gi-create YourIssueTitle

f:id:playground-live:20171101151259g:plain

  • cacheのupdate

起動するたびにissueの更新をチェックしますが、うまく更新できないときは gi-update を実行してみてください

f:id:playground-live:20171101151732g:plain

参考


今回は初めてAlfredワークフローを作りました。RubyでHTTPの通信とかGitHub APIは今回で実際に使って、最後にできた機能は仕事中で役に立てば凄い嬉しいです。

できたワークフローは簡単にFileを利用したが、キャッシュにissueの更新は予想より長い時間がかかるという問題があって、今後はDatabase使って改善しようと思います。

日本語でブログを書くのは苦手ですが、playgroundの皆さんに色々と助けてもらいながら頑張って書きました。

最後まで読んでいただきありがとうございました!