Messaging APIの新機能がSDKに反映されるまでのプロセス
こんにちは!テクニカルライターの銭神です。みなさんは、LINEヤフーが提供するMessaging APIのSDKを使っていますか?
以前は、Messaging APIの新機能に対応するSDKの更新を手動で行っていました。これがOpenAPI Generatorによる自動生成に切り替わったことにより、より早くSDKを通して新機能にアクセスできるようになっています。
今回は、Messaging APIに新しい機能が追加されてから、JavaやPythonをはじめとする各言語向けのSDKが更新されるまでのプロセスを紹介します。
LINE Messaging API SDKは、Messaging APIを用いてボットを効率よく開発するための公式ライブラリです。SDKを用いることで、APIリクエストや署名の検証といった処理を簡単に行うことができるため、開発者はボットの機能開発に専念できます。
対象となるSDK
Messaging APIには、以下の言語向けのSDKがあります。この記事で紹介する内容は、これらすべてが対象となります。
新機能が反映されるまでのプロセス
それでは、Messaging APIに新機能が追加されてから、SDKに反映されるまでのプロセスを説明します。新機能をいち早くSDKから利用できるようにするために、以下のようなプロセスでSDKを更新しています。
- LINE OpenAPIの仕様が更新される
- SDKとプルリクエストが自動生成される
- SDKがリリースされる
それぞれのプロセスについて説明します。
1. LINE OpenAPIの仕様が更新される
Messaging APIに新機能が追加されると、それにあわせてGitHubのLINE OpenAPIが更新されます。このリポジトリでは、Messaging APIの仕様がOpenAPI仕様に準拠した形式で定義されています。
2. SDKとプルリクエストが自動生成される
LINE OpenAPIの仕様が更新されると、各SDKのリポジトリでOpenAPI Generatorが実行され、ソースコードが自動生成されます。またリポジトリごとに、プルリクエストも自動で作成されます。
たとえばLINE OpenAPIのメッセージに既読をつける機能を追加するプルリクエストには、以下のように自動で作成されたプルリクエストからの参照が貼られています。

3. SDKがリリースされる
自動生成されたプルリクエストは、メンテナーによるレビューを経てマージされます。プルリクエストがマージされると、Maven CentralやPyPIといった各言語のパッケージレジストリに、新しいバージョンのSDKが公開されます。
なお、SDKが更新されたことについて、LINE Developersサイトでは通知は行っていません。このため、ご利用のSDKのリポジトリを[Watch]しておくことをおすすめします。
もしSDKの動作に不具合等を見つけましたら、各SDKのリポジトリのIssuesからご報告ください。
おわりに
以上のようにして新しいバージョンのSDKがリリースされたら、開発者のみなさんはSDKを通して、Messaging APIの新機能を利用できるようになります。SDKを利用して、よりたのしく開発していただけたらうれしいです!