Upgrade to Pro — share decks privately, control downloads, hide ads and more …

API 連携開発効率化のために Backlog API Postman Collection を自動生成した話

API 連携開発効率化のために Backlog API Postman Collection を自動生成した話

Kazuya Sugimoto

January 20, 2021
Tweet

More Decks by Kazuya Sugimoto

Other Decks in Technology

Transcript

  1. © 2021 CData Software Japan, LLC | www.cdata.com/jp API 連携開発効率化のために

    Backlog API Postman Collection を自動生成した話 2021/01/20 Web API LT会#webapilt CData Software Japan Kazuya Sugimoto
  2. © 2021 CData Software Japan, LLC | www.cdata.com/jp CData Software

    Japan の API holic 担当 年100種類以上のAPIを見たり触ったりしています。 Twitter:@sugimomoto Facebook:sugimomoto Blog:http://kageura.hatenadiary.jp/ About Speaker Horizontal SaaS 647種類のAPI提供状況を調査:そこから見えてきた国 産 SaaS APIの今 https://www.cdatablog.jp/entry/horizontalsaasapi
  3. © 2021 CData Software Japan, LLC | www.cdata.com/jp Postman Collection

    の自動生成で API連携開発がちょっとHappyになったお話 https://www.postman.com/ Postman は API開発・検証 のためのコラボレーションツール (詳しい説明は割愛)
  4. © 2021 CData Software Japan, LLC | www.cdata.com/jp CRMおよびマーケティング自動化 会計システム

    コラボレーションおよびERP オンプレミスおよびクラウドDB ドキュメントおよびファイル形式 ソーシャルネットワーキング ネットワーキングおよび認証 電子商取引 その他 CData Software は様々なツール・サービスの接続先を 拡張するドライバー・コネクター製品を扱っている会社 https://www.cdata.com/jp/drivers/
  5. © 2021 CData Software Japan, LLC | www.cdata.com/jp 新しく Backlog

    CData Drivers を開発 (Coming soon) https://www.cdata.com/jp/drivers/backlog/ 今回はこの Backlog Driver 開発時のお話
  6. © 2021 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software CDataではAPI連携開発をどうやってるの?
  7. © 2021 CData Software Japan, LLC | www.cdata.com/jp 1 Chome-6-27

    Chuo, Aoba Ward, Sendai, Miyagi Prefecture 980-0021, Japan Tel: 050-5578-7390 CData Japan 600 Market St. #300 Chapel Hill, NC 27516 USA Tel: (919) 885-0202 Fax: (919) 928-5455 US Headquarters - United Kingdom - Central & Eastern Europe - Central China Additional Offices CData の開発体制はグローバル 日本の SaaS API Drivers もグローバルで開発 www.cdata.com
  8. © 2021 CData Software Japan, LLC | www.cdata.com/jp すべて自社コードで実装しているので 既存のSDK・ライブラリを使わない

    ちなみに、Backlog APIは 公式・非公式含めて とてもライブラリが充実している https://developer.nulab.com/ja/docs/backlog/libraries/#
  9. © 2021 CData Software Japan, LLC | www.cdata.com/jp CData Driver

    デザインと合わせて Postman Collection で API仕様を共有・開発
  10. © 2021 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software グローバルチームでAPI連携を開発する時 大変なこと
  11. © 2021 CData Software Japan, LLC | www.cdata.com/jp API Request

    の共有 POST /api/v2/users?apiKey=XXXXX HTTP/1.1 Host: XXXXX.backlog.com Content-Type: application/x-www-form-urlencoded Content-Length: 70 userId=<文字列>&password=<文字列>&name=<文字列 >&mailAddress=<文字列>&roleType=<数値> POST /api/v2/projects?apiKey=XXXXX HTTP/1.1 Host: XXXXX.backlog.com Content-Type: application/x-www-form-urlencoded Content-Length: 128 name=<文字列>&key=<文字列>&chartEnabled=<真偽値 >&projectLeaderCanEditProjectLeader=<真偽値 >&subtaskingEnabled=<真偽値>&textFormattingRule=< 文字列>
  12. © 2021 CData Software Japan, LLC | www.cdata.com/jp Backlog API

    めちゃくちゃ機能が多い問題 (現在150種類近く) しかも CData Driverは汎用コネ クタなので、ほとんどのAPI機能を 網羅・使っている
  13. © 2021 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software API Request のスムーズな共有のために Postman Collection を作ろう!
  14. © 2021 CData Software Japan, LLC | www.cdata.com/jp ちなみに Postman

    Collection は 色んなフォーマットから自動生成できる
  15. © 2021 CData Software Japan, LLC | www.cdata.com/jp ただ、Backlog API

    は Open API / Swagger Spec などは未提供 SDKとHTMLベースの API仕様書のみ (問い合わせました)
  16. © 2021 CData Software Japan, LLC | www.cdata.com/jp Backlog API

    Reference を元に 自動生成する仕組みを構築 .NET C#で Backlog API Referenceをスクレイピング Postman Collectionの JSONを生成して取り込み JSON
  17. © 2021 CData Software Japan, LLC | www.cdata.com/jp できあがった Backlog

    Postman Collection 全機能を名前で検索 一覧可能 DescriptionやReferenceに もすぐに飛べる クエリパラメータ・リクエストBody を簡単に選べる・入力できる