PostmanでRedmine APIを実行してみる
こんにちは!株式会社スマレジ、エンジニアのmasaです。
3連休の真ん中ですが、皆様いかがお過ごしでしょうか?
masaは久々に実家に帰って親に顔を見せたりしております。
さて、今日からはまたしばらく開発記事になる予定です。
Redmineのメンテが大変…
思ったことないですか?masaは最近思うことがしばしばございます。
といいますのも、現在スマレジではスマレジ4.0に使う新APIを絶賛開発中でございます。
画面やら帳票やらがない分、基盤さえできてしまえば、実装自体はアプリの機能拡張よりカンタンなAPI開発ですが、いかんせんスマレジは機能が多いので、APIの数も増えます。しかし、規模が増えようともその工数やらスケジュールやらは自己管理&メンバーへの共有は常に必要ですし、当然そのコストは実装規模に比例して増大します。
Redmineを使ったチケットドリブン開発はPJ管理に便利な反面、画面からAPI一つ一つの作業チケットを作成するのは意外に疲れますし、あまりルーティンワークに時間はかけたくないのです。
API開発という切り口で言えば、個々のチケットが似通ってくるので共通化して、楽できないかなーというのが今回のお話でございます。
RedmineにはREST APIが用意されているので、まずはそれを試しに触ってみました。
最近個人的にRedmineを立てたので今回はそれを使います。
(その時のブログ↓)
さすが天下のRedmineだけあって、APIに関する記事はかなり豊富でした。
ただ、やはり古めのPJ管理ツールなのもあってか、最近の環境での連携例は少なめでしたね。(2019年代の記事はみつからなかったです。)
その中でも下記のサイトにお世話になりました。
https://www.r-labs.org/projects/r-labs/wiki
Postmanで実行してみる
取得についてはとてもシンプルで、例えばチケットを取ってきたいのであれば、
アクセスキーの取得は上記のr-Lab様のサイトに説明がありますのでそちらをご覧ください。
実行すると、こんな感じでチケット情報を一覧取得できます。
次に、チケット作成ですが、こちらもシンプルです。
画像を見たらわかるように、
- HTTP_METHOD:POST
- Body:raw(JSON)
にセットし必須絡むとして設定した項目をJSON形式でBodyに記載します。
レスポンスは
{"issue": {"id": 3,"project": {"id": 1,"name": "練習プロジェクト"},"tracker": {"id": 1,"name": "設計"},"status": {"id": 1,"name": "未着手"},"priority": {"id": 1,"name": "5(標準)"},"author": {"id": 1,},"subject": "Example","description": null,"start_date": "2020-02-23","due_date": null,"done_ratio": 0,"is_private": false,"estimated_hours": null,"total_estimated_hours": null,"created_on": "2020-02-23T13:39:20Z","updated_on": "2020-02-23T13:39:20Z","closed_on": null}}
こんな感じで登録したチケット情報が帰ってきます。