Slide 1

Slide 1 text

© 2023 CData Software Japan, LLC | www.cdata.com/jp グローバルチームプロジェクトでAPI 連携ソフトウェアを開発するにあたって ちょっとした工夫でプロジェクトの摩擦を軽減したお話 2023/03/14 JBUG 仙台 CData Software Japan Kazuya Sugimoto

Slide 2

Slide 2 text

© 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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

© 2023 CData Software Japan, LLC | www.cdata.com/jp 1. About CData Software CData ではソフトウェア開発をどうやってるの?

Slide 6

Slide 6 text

© 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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

© 2023 CData Software Japan, LLC | www.cdata.com/jp 1. About CData Software グローバルチームでコミュニケーションしながら 開発する時大変なこと

Slide 10

Slide 10 text

© 2023 CData Software Japan, LLC | www.cdata.com/jp どれだけスムーズに仕様を共有できるか? 問題・課題の再現をスピーディに実施できるか? 同じ環境・リクエストを簡単に実施できるか? 一つ一つは小さい摩擦でも 最終的に大きなコストにつながる

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

© 2023 CData Software Japan, LLC | www.cdata.com/jp 1. About CData Software まとめ

Slide 22

Slide 22 text

© 2023 CData Software Japan, LLC | www.cdata.com/jp どれだけスムーズに仕様を共有できるか? 問題・課題の再現をスピーディに実施できるか? 同じ環境・リクエストを簡単に実施できるか? 一つ一つは小さい摩擦でも 最終的に大きなコストにつながる