$30 off During Our Annual Pro Sale. View Details »

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

    View Slide

  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

    View Slide

  3. © 2021 CData Software Japan, LLC | www.cdata.com/jp
    1. About CData Software
    今日のお話

    View Slide

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

    View Slide

  5. © 2021 CData Software Japan, LLC | www.cdata.com/jp
    1. About CData Software
    About CData Software

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. © 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

    View Slide

  10. © 2021 CData Software Japan, LLC | www.cdata.com/jp
    すべて自社コードで実装しているので
    既存のSDK・ライブラリを使わない
    ちなみに、Backlog APIは
    公式・非公式含めて
    とてもライブラリが充実している
    https://developer.nulab.com/ja/docs/backlog/libraries/#

    View Slide

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

    View Slide

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

    View Slide

  13. © 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=<
    文字列>

    View Slide

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

    View Slide

  15. © 2021 CData Software Japan, LLC | www.cdata.com/jp
    一つ一つAPIリクエストを試すのがめんどくさい!!

    View Slide

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

    View Slide

  17. © 2021 CData Software Japan, LLC | www.cdata.com/jp
    ちなみに Postman Collection は
    色んなフォーマットから自動生成できる

    View Slide

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

    View Slide

  19. © 2021 CData Software Japan, LLC | www.cdata.com/jp
    そこで・・・

    View Slide

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

    View Slide

  21. © 2021 CData Software Japan, LLC | www.cdata.com/jp
    実は意外とシンプルな Postman Collection

    View Slide

  22. © 2021 CData Software Japan, LLC | www.cdata.com/jp
    できあがった Backlog Postman Collection
    全機能を名前で検索
    一覧可能
    DescriptionやReferenceに
    もすぐに飛べる
    クエリパラメータ・リクエストBody
    を簡単に選べる・入力できる

    View Slide

  23. © 2021 CData Software Japan, LLC | www.cdata.com/jp
    こちらのページで公開中
    https://www.cdatablog.jp/entry/backlogpostmancollection

    View Slide