Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2024年のkintone API振り返りと2025年 / kintone API look ...
Search
tasshi
January 25, 2025
Programming
0
250
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
devkin meetup! Vol.4 【リアル新年会】in 大阪 のLT資料です。
イベント情報はこちら↓
https://devkin.connpass.com/event/339925/
tasshi
January 25, 2025
Tweet
Share
More Decks by tasshi
See All by tasshi
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
490
GitHub Projectsを自動化するGitHub CLIテクニック / Automate GitHub Projects with GitHub CLI
tasshi
0
560
SDK開発チームのプロダクトオーナーが考えていること / Product management of SDK
tasshi
1
1.3k
Node.js製CLIツールのE2Eテストに取り組んでいます / Working on E2E testing of Node.js CLI tools
tasshi
0
1.3k
モダンな開発環境を用いた カンタン/安全なカスタマイズ開発 / kintone devCamp Boost! 2023
tasshi
0
810
Node Streamでメモリ性能改善、そしてWeb Streams APIへ / Improving memory performance of the CLI tool using Node Stream
tasshi
1
3.3k
グローバルチームことはじめ / Bootstrapping a global team
tasshi
1
3.7k
2年目サイボウズ社員とOSS / OSS development of junior engineer in Cybozu
tasshi
0
780
クレートを作ってcrates.ioに公開するまで / How to publishing to crates.io
tasshi
0
710
Other Decks in Programming
See All in Programming
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.2k
生産性アップのためのAI個人活用
kunoyasu
0
640
snacks.nvim内のセットアップ不要なプラグインを紹介 / introduce_snacks_nvim
uhooi
0
340
英語文法から学ぶ、クリーンな設計の秘訣
newnomad
1
270
WordPress Playground for Developers
iambherulal
0
120
GDG Super.init(version=6) - From Where to Wear : 모바일 개발자가 워치에서 발견한 인사이트
haeti2
0
560
生成AIの使いどころ
kanayannet
0
100
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
730
ニックトレイン登壇資料
ryotakurokawa
0
140
20250326_生成AIによる_レビュー承認システムの実現.pdf
takahiromatsui
17
5.5k
requirements with math
moony
0
520
ベクトル検索システムの気持ち
monochromegane
30
8.9k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
511
110k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Agile that works and the tools we love
rasmusluckow
328
21k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
2k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Designing for humans not robots
tammielis
250
25k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
The Pragmatic Product Professional
lauravandoore
33
6.5k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
2024年のkintone API 振り返りと2025年 2025.01.25 devkin meetup! Vol.4 @tasshi_me 1
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 はじめに 田代 雅治 (@tasshi_me) •
サイボウズ株式会社 • 2020 新卒入社 • 2021-24 kintone DXチーム • 2022-23 フロントエンド刷新PJ • 2024- kintone拡張基盤 チーム EM kintone DXデザイン チーム • 好きなもの • 自転車 • ゲーム • ロック 自己紹介 2
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 はじめに • kintoneの拡張機能(プラグイン・連携サービス)向けの 開発基盤を開発・保守するチーム •
API開発 • SDK/CLIなどのOSS提供 など kintone拡張基盤 チーム 3
2024年のまとめ 4 2024年のkintone APIを取り巻く変化
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のまとめ 30本以上のAPIがリリースされました • REST API:
26本(内、正式リリース21本) • JS API: 9本(内、正式リリース1本) 大きな変化 • APIラボの新設 • ワイドAPIの新設 • API・開発者ツール関連チームの再編成 2024年の主な変化 5
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のまとめ APIラボ(開発中の新機能) • 開発検討中のAPIを公開 •
アップデートオプションから有効化して利用 • フィードバックを参考に仕様改善しつつ正式リリースへ ワイドAPI • ワイドコース契約環境でのみ利用可能 • ガバナンス強化に役立つAPIなどが提供されている APIラボ・ワイドAPIの新設 6
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のまとめ API・開発者ツール関連チームの再編成 – 旧体制 7
kintone Webサービス本体 プラグイン 基盤 kintone新機能開発チーム kintone DXチーム 開発者向けクライアントツールを担当 kintoneの新機能の開発を担当 公開API クライアントツール 開発者向けツール - js-sdk 管理者向けツール - cli-kintone アプリ スペース レコード etc. APIとクライアントツールで担当するチームが分かれていた
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のまとめ API・開発者ツール関連チームの再編成 – 新体制 8
クライアントツール kintone Webサービス本体 開発者向けツール - js-sdk - Java Client 管理者向けツール - cli-kintone 公開API 基盤 プラグイン基盤 DXデザイン 拡張基盤 プラグイン・連携サービスを 実現するための 手段の実装・成果物に オーナーシップを持つ プラグイン・連携サービスの 開発者体験に オーナーシップを持つ DXデザイン API+周辺ツールのデザイン API・周辺ツールの 社内開発の最適化 アプリ スペース レコード etc. 公開API API基盤・クライアントツールを統合的に体験設計・実装する体制へ ※新機能開発チームの配下へ統合
2024年のAPIアップデート 9 全部紹介します!
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • アプリ系(13本) • レコード系(1本)
• スペース系(4本) • プラグイン系(6本) • ワイドAPI(2本) • (+ OAuth対応API拡充) REST API 10
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート => アプリの自動構築やバックアップ/リストアに必要なアプリ設定の取得・更新APIが主に拡充された • アプリの一般設定を取得する(取得できる項目が増える)(GET
/k/v1/app/settings.json) • アプリの一般設定を取得する(「レコード一覧でのインライン編集」の設定を取得できる) • アプリの一般設定を変更する(変更できる項目が増える)(PUT /k/v1/preview/app/settings.json) • アプリの一般設定を変更する(「レコード一覧でのインライン編集」の設定を変更できる) • アプリ管理者用メモを取得する(GET /k/v1/app/adminNotes.json) • アプリ管理者用メモを変更する(PUT /k/v1/preview/app/adminNotes.json) • カテゴリの設定情報を取得する(GET /k/v1/app/categories.json) • カテゴリの設定情報を変更する(PUT /k/v1/preview/app/categories.json) REST API – アプリ系 (1/2) 11
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • アプリに追加されているプラグインの一覧を取得する(GET/k/v1/app/plugins.json) • アプリにプラグインを追加する(POST
/k/v1/preview/app/plugins.json) • プラグインの設定情報を取得する(GET /k/v1/app/plugin/config.json) • プラグインの設定情報を変更する(PUT /k/v1/preview/app/plugin/config.json) • アプリの所属するスペースを変更する(POST /k/v1/app/move.json) REST API – アプリ系 (2/2) 12
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • 複数のレコードを更新する(UPSERTモードを利用できる)(PUT /k/v1/records.json) REST
API – レコード系 13
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • PUT records.jsonを拡張 •
リクエストパラメーターに upsert (boolean)を追加 • id or updateKeyに指定されたレコードを参照 • 指定のレコードが存在する場合 => レコード更新 • 指定のレコードが存在しない場合 => レコード追加 • これまではAPI利用側でUPSERT処理を実装する必要があった • kintone上のレコードを全件取得 → ローカルのレコードを追加・更新に振り分け → 追加・更新APIを個別実行 • レコード全件取得を原因とするメモリ使用量の肥大化や実行時間の増加、リクエスト数増加が発生していた • 実装も複雑になっていた • cli-kintoneにも試験的に導入済み (>=v1.13.0) • --experimental-use-server-side-upsert フラグを指定で利用可能 【Pick up!!】複数のレコードを更新する(UPSERTモードを利用できる) 14
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • スペースの情報を取得する(取得できる項目が増える)(GET /k/v1/space.json) •
スペースの設定を変更する(PUT /k/v1/space.json) • スペースを作成する(POST /k/v1/space.json) • スペースのスレッドを作成する(POST /k/v1/space/thread.json) スペーステンプレートからスペースを作成するAPIは元々あった => APIからより柔軟にスペースを作成・変更できるように REST API – スペース系 15
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • プラグインを読み込む(POST /k/v1/plugin.json) •
プラグインを更新する(PUT /k/v1/plugin.json) • プラグインをアンインストールする(DELETE /k/v1/plugin.json) • インストール済みのプラグインの一覧を取得する(GET /k/v1/plugins.json) • インストールが必要なプラグインの一覧を取得する(GET /k/v1/plugins/required.json) • 対象のプラグインを追加しているアプリの一覧を取得する(GET /k/v1/plugin/apps.json) => プラグイン操作の自動化を実現可能に • システム管理者・導入担当者がプラグインの導入・更新・棚卸しを自動化 • プラグイン開発者がアップロードを自動化 • アプリ管理者がアプリに必要なプラグインの適用・変更を自動化 など REST API – プラグイン系 16
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート => 使用状況を取得するAPIを追加 • アプリの使用状況を取得する(GET
/k/v1/apps/statistics.json) • スペースの使用状況を取得する(GET /k/v1/spaces/statistics.json) REST API – ワイドAPI 17
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • OAuthクライアントで使用できるREST APIを増やす変更 •
以下の2つのスコープで利用できるREST APIを拡充 • k:app_settings:read • k:app_settings:write • 2020年~で追加されたアプリ設定の取得/変更系のAPIが対象 • k:app_settings:read • グラフの設定を取得する(GET /k/v1/app/reports.json) • アプリの条件通知の設定を取得する(GET /k/v1/app/notifications/general.json) • レコードの条件通知の設定を取得する(GET /k/v1/app/notifications/perRecord.json) • リマインダーの条件通知の設定を取得する(GET /k/v1/app/notifications/reminder.json) • アプリのアクション設定を取得する(GET /k/v1/app/actions.json) • k:app_settings:write • グラフの設定を変更する(PUT /k/v1/preview/app/reports.json) • アプリの条件通知の設定を変更する(PUT /k/v1/preview/app/notifications/general.json) • レコードの条件通知の設定を変更する(PUT /k/v1/preview/app/notifications/perRecord.json) • リマインダーの条件通知の設定を変更する(PUT /k/v1/preview/app/notifications/reminder.json) • アプリのアクション設定を変更する(PUT /k/v1/preview/app/actions.json) REST API – OAuth 18
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • 情報取得・設定系 • アプリのアイコンのURLを取得する(kintone.app.getIcons)
• ログインユーザーのアプリに対するアクセス権を取得する(kintone.app.getPermissions) • ログインユーザーのレコードに対するアクセス権を取得する(kintone.app.record.getPermissions) • アプリ情報を取得する(kintone.app.get) • スペース情報を取得する(kintone.space.get) • (kintone.getLoginUser()のlanguageプロパティの仕様変更) • UI操作系 • サイドバーを表示する(kintone.app.record.showSideBar) • サイドバーを非表示にする(kintone.app.record.hideSideBar) • レコード追加ボタンの表示/非表示を変更する(kintone.app.setRecordAddButtonShown) • レコード編集ボタンの表示/非表示を変更する(kintone.app.record.setRecordEditButtonShown) JS API 19
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • メソッド: kintone.app.getIcons(apps: string[])
• 返り値: Array<{app: string, url: string}> これまでカスタマイズ上でアプリアイコンを表示するにはハック的手段が必要だった • アプリの一般設定を取得するAPIでアイコン情報が取得 • 設定値のバックアップに適した情報のためアイコン表示用途では使いにくい • icon.keyまたはicon.fileを取得→ファイルをダウンロードして別アプリに保存、もしくは埋め込み表示 • 非正規操作 => 新APIでは取得したアイコンURLをそのままimgタグに指定可能 • 注意:レスポンスのアイコンURLは保存せず、毎回取得してください • URLの形式は今後のアップデートで変わりうるため 【Pick up!!】アプリのアイコンのURLを取得する 20
2025年のkintone API 21 ※サイボウズとして将来の機能開発を お約束するものではありません
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 会場限定 2025年のkintone API 2025年どうなっていくと思うか 22
2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 おわりに • フィードバックの例 • APIラボで提供されている〇〇のAPIを早く本番利用したい
• 〇〇の用途のために△△のようなAPIを提供してほしい • ユースケースやサンプルコードもあるとより参考になります! kintone APIの改善に協力をお願いします!! 23
ご清聴ありがとうございました 24 2025年も kintone を盛り上げて行きましょう! よろしくお願いします!