2020/09/18 追記
Che-Theia のベースである Eclipse/Theia で、VSCode Autheintication Plugin API への対応がマージ されました。
これらが Che-Theia にもマージされると、下記の手順と異なる、より簡便な方法で使えるようになります。
背景
GitHub との連携は、バージョン 7 系の Eclipse/Che における弱点の一つで、同じ Theia ベースのエディタを持つ GitPod にも負け続けていました。
しかし、最近の Eclipse/Che 1 は、VSCode Github Pull-request Plugin に対応しています。
このことは、公式ドキュメント にも記載されています。しかし、大抵の開発者はドキュメントを読まないでしょうし、またドキュメントの記載が簡潔すぎて、読んでも上手く動作させられないかもしれません。本家のドキュメントを拡充すべきかもしれませんが、まずは日本語で書き記します。
なお、スクリーンショットは、Eclipse.org の事実上の公式 SaaS である che.openshift.io ではなく、PizzaFactory/Camino の Banco エディション を用いています。しかし、読者自身が立てた Che インスタンスの場合も含め、差はないはずです。
手順
Workspace にプラグインを追加する
まず、ワークスペースは作成済みとします。
dashoboard の左上にある Workspaces をクリックし、既存のワークスペースの一覧を表示します。
プラグインを加えたいワークスペース名の右側にある歯車アイコンを押して、編集画面を開きます。
画面上側にあるリボンメニューで plugins
を選択し、GitHub Pull Requests の横にあるボタンをクリックして有効化します。
(余談ですが、GitLens など Git を便利に使うためのプラグインも、ここで追加できます。)
編集すると画面右下に Save
ボタンが出現しますので、もちろん押してください。
ワークスペースを開く
いつもと同じようにワークスペースを開いてください。プラグインが増えた分だけすこし起動時間が長くなりますが、気になるおどの差はないはずです。
表示される通知を無視してトークンを取得する。
起動すると、下記のような通知が表示されるはずです。
画面左側にある Octocat アイコンを押しても、情報が取れていないことがわかります。
しかし、ここで早まって Sign in
ボタンを押しては いけません。 ここが「罠」です。
無視して F1
キーを押し GitHub authenticate
コマンドを実行します。
そうすると、別ウインドウがポップアップし、トークンの取得が実行されます。
ダッシュボードが表示されるまでの認証方法によっては、ここで権限の許諾を求められるかもしれません。SSH 公開鍵の操作など、ちょっと怖い権限も含まれています。git プラグインで ssh を使うからという正当な理由はあるのですが、Che インスタンスの運用者を信じられないようであれば、ここで諦めたほうが安全です。
トークンの取得が終わると、リロードを促す通知が表示されます。
Ctrl-R
など押してリロードしましょう。
リロードが完了すると、プルリクの状態が表示されるはずです。
本稿執筆時点での制約
一連の作業は、ワークスペースを起動するたびに行う必要があるようです。面倒ですが、プルリクが必要なときまで作業を遅延させるなどして、手間を省くことはできるでしょう。
おまけ: Sign In
ボタンを押したらどうなるか。
新たにウインドウが開き、認証を求められます。
しかし、Continue
を押しても、認証は失敗します。
ここから手動で GitHub token を取得し、プラグインに与えることでログインできますが、圧倒的に手間なので、お勧めはしません。(手順も記しません)
-
厳密に記すと、対応しているのは、Che に含まれる Che-Theia エディタ。 ↩