最近は仕事で、Gitlabを使っていますが、いい加減Mergerequestの作成やIssueの確認などをするのに、ブラウザを立ち上げるのが面倒になりました。
全ての動作をコマンドから行おうとは思いませんが、ある程度はキーボードで完結したいと思うのが人の常。
という訳で、GitLabのためのGitサブコマンドを作りました.
Gemを作ったのは久々ですね。車輪の再発明とか言わないで
とりあえず動かす
英語頑張った。
設定をちゃんとやって、
git gitlab
を入力すると、ログインしているGitlabのアカウントと、URLが表示されます。これが表示されたら利用可能.
Mergerequestを作る
git gitlab merge SOURCE_BRANCH TARGET_BRANCH --assigne USER_NAME
でマージリクエストを作ります。成功すると、画面にマージリクエストのURLが表示されます。
SOURCE_BRANCH
とTARGET_BRANCH
は省略可能で、省略した場合はそれぞれ今いるブランチ
,master
となります。片方だけ省略するのはできません。
Issueを見る
git gitlab issue ISSUE_ID
でIssueの情報を見られます。IDに該当するIssueが無かったら異常終了。
課題とか
GitlabのAPIにアクセスしまくってる感があるのがちょっとアレ。
引数にユーザー名をとるgitlab merge
は、まずユーザー名からユーザーIDを取得し、その上でMergerequestのAPIを叩いている。この辺りのデータをちゃんとキャッシュするべき。
必要に応じてアップデートしていきます。