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

グローバルチームプロジェクトでAPI 連携ソフトウェアを開発するにあたって ちょっとした工夫でプロジェクトの摩擦を軽減したお話

グローバルチームプロジェクトでAPI 連携ソフトウェアを開発するにあたって ちょっとした工夫でプロジェクトの摩擦を軽減したお話

2023/03/14
JBUG 仙台

Kazuya Sugimoto

March 14, 2023
Tweet

More Decks by Kazuya Sugimoto

Other Decks in Technology

Transcript

  1. © 2023 CData Software Japan, LLC | www.cdata.com/jp グローバルチームプロジェクトでAPI 連携ソフトウェアを開発するにあたって

    ちょっとした工夫でプロジェクトの摩擦を軽減したお話 2023/03/14 JBUG 仙台 CData Software Japan Kazuya Sugimoto
  2. © 2022 CData Software Japan, LLC | www.cdata.com/jp CData Software

    Japan の Lead Engineer これまで300種類以上のAPIを見たり触ったりしている API中毒な人。 Twitter:@sugimomoto Facebook:sugimomoto Blog:https://www.cdatablog.jp/ About Speaker Software Design 2022年8月号 Web API 特集 の第1章「Web APIの目的と技術要素 利用者/提供者の利点や技術的なしくみをひも 解く」を執筆 https://gihyo.jp/magazine/SD/archive /2022/202208
  3. © 2023 CData Software Japan, LLC | www.cdata.com/jp CRMおよびマーケティング自動化 会計システム

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

    と簡単に連携できる CData Drivers for Backlog を提供しています! https://www.cdata.com/jp/drivers/backlog/ 今回はこの Backlog Driver 開発時のお話
  5. © 2023 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software CData ではソフトウェア開発をどうやってるの?
  6. © 2023 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
  7. © 2023 CData Software Japan, LLC | www.cdata.com/jp すべて自社コードで実装しているので 既存のSDK・ライブラリを使わない

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

    デザインと合わせて Postman Collection で API仕様を共有・開発 APIのリクエスト・テストなど作 成・共有するデベロッパー向けコ ラボレーションツール
  9. © 2023 CData Software Japan, LLC | www.cdata.com/jp 1. About

    CData Software グローバルチームでコミュニケーションしながら 開発する時大変なこと
  10. © 2023 CData Software Japan, LLC | www.cdata.com/jp どれだけスムーズに仕様を共有できるか? 問題・課題の再現をスピーディに実施できるか?

    同じ環境・リクエストを簡単に実施できるか? 一つ一つは小さい摩擦でも 最終的に大きなコストにつながる
  11. © 2023 CData Software Japan, LLC | www.cdata.com/jp Backlog API

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

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

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

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

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

    Postman Collection 全機能を名前で検索 一覧可能 DescriptionやReferenceに もすぐに飛べる クエリパラメータ・リクエストBody を簡単に選べる・入力できる
  18. © 2023 CData Software Japan, LLC | www.cdata.com/jp どれだけスムーズに仕様を共有できるか? 問題・課題の再現をスピーディに実施できるか?

    同じ環境・リクエストを簡単に実施できるか? 一つ一つは小さい摩擦でも 最終的に大きなコストにつながる