JetBrains IDE のタスクで Gitea と連携

ツール

JetBrains IDE は最高ですね。Issue などと連携したワークフローはちゃんと使うとかなり便利です。
最近は、GitHub の連携がとっても良い感じです。

連携先として何があるかというと・・・

対応するサーバー

こんな感じです。割と古いモノもありますが、今だと GitHub, Trello, Redmine, Jira, そして YouTrack あたりが現役でしょうか。

・・・

Gitea は??

悲しいことに、Gitea が有りません・・・。
プラグインに「Gitea Issue」というプラグインがありましたが、動きませんでした(2020/10/07 現在)。

ここで、あきらめるにはまだ早い・・・
この状況を打破する方法が有りました。それは「Generic」サーバーです。

これは、設定を頑張ることで、標準には対応していないサーバーに対応しようというものです。
これで、頑張って、Gitea を使ってみることにしました。

Genericを追加して、サーバーURLとログイン情報を入れていきます。で、ここでは HTTP authorication を使うことにしました。(なので、OpenID Connect などでログインさせてる場合は、Gitea側でパスワードを登録して、Gitea自体に直接ログイン出来るようにする必要があります)

続いては Server Configuration で、どうやってタスク一覧を得ていくのかを設定していきます。
Task List URL と Single Task URL は Gitea のAPI を参照する様に設定します。このURLの中に、リポジトリ名などが含まれます(タスク一覧の例: {serverUrl}/api/v1/repos/user/repo_name/issues )

Response Type は Json とし、その後の表で JetBrains と 結果のJson の対応を記述していきます(縦幅が足りないと、対応表が画面外にあふれて表示されないことがあります・・・その際は Server リストの縦幅を縮めましょう)。
 tasks は 「$.」、
 idは「number」( idじゃないよ!)、
 summary は 「title」にします。
スクショではとれてないですが、後は
 description を「body」、
 issueUrl を「htm_url」
に設定してあげると良い感じです。

問題なく設定出来ていれば、OpenTask でIssueの一覧が表示されるはずです。
Gogs でも、おそらくは同様の設定で動く気がします。

コメント

タイトルとURLをコピーしました