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
130
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
430
GitHub Projectsを自動化するGitHub CLIテクニック / Automate GitHub Projects with GitHub CLI
tasshi
0
500
SDK開発チームのプロダクトオーナーが考えていること / Product management of SDK
tasshi
1
1.2k
Node.js製CLIツールのE2Eテストに取り組んでいます / Working on E2E testing of Node.js CLI tools
tasshi
0
1.2k
モダンな開発環境を用いた カンタン/安全なカスタマイズ開発 / kintone devCamp Boost! 2023
tasshi
0
750
Node Streamでメモリ性能改善、そしてWeb Streams APIへ / Improving memory performance of the CLI tool using Node Stream
tasshi
1
3.2k
グローバルチームことはじめ / Bootstrapping a global team
tasshi
1
3.5k
2年目サイボウズ社員とOSS / OSS development of junior engineer in Cybozu
tasshi
0
740
クレートを作ってcrates.ioに公開するまで / How to publishing to crates.io
tasshi
0
690
Other Decks in Programming
See All in Programming
Fibonacci Function Gallery - Part 2
philipschwarz
PRO
0
220
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
190
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
130
Alba: Why, How and What's So Interesting
okuramasafumi
0
230
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
8
900
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
250
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
240
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
2.1k
自動で //nolint を挿入する取り組み / Gopher's Gathering
utgwkk
1
130
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
130
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
140
カンファレンス動画鑑賞会のススメ / Osaka.swift #1
hironytic
0
180
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
Agile that works and the tools we love
rasmusluckow
328
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
A Philosophy of Restraint
colly
203
16k
Writing Fast Ruby
sferik
628
61k
Making Projects Easy
brettharned
116
6k
Six Lessons from altMBA
skipperchong
27
3.6k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Scaling GitHub
holman
459
140k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
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 を盛り上げて行きましょう! よろしくお願いします!