見出し画像

[kintone] FAQを作ってはいけない! 開発中の新機能だってAIが答えてくれる(devkin meetup! Vol.3 登壇報告)

こんにちは、キン担ラボの本橋です。

本橋です

前回のnoteでも触れましたとおり、kintone開発者向けのオンラインイベント devkin meetup!  Vol.3 にLT枠で登壇しました。今回のnoteはイベントの中でお話したことについてまとめてみたいと思います。

LTは以前のnoteを下書きにしています。cursor上でドキュメントを学習させる手順などはこちらの記事をご覧ください。

LTでは、kintone APIの「開発中の新機能」に関するドキュメントを読ませてAIに質問する、という建付けでデモを交えつつお話ししました。

⇧は公開用のスライド本体にリンクしてます

APIラボのドキュメントをCursorに学習させる

開発中の新機能ですよ、字面だけでもワクワクしませんか。

https://cybozu.dev/ja/kintone/docs/api-lab/

Cursor上でCTRL+L してチャット画面を呼び出して、@Docsと入力して、メニューから+Add Docを選びます。

続けてダイアログに先程のAPIラボのURLを入力して、呼び出しキーワードを登録します。"@api-lab" あたりでよいでしょう。

インデキシングが終わればAIに質問する準備が整いました。

準備完了!質問してみよう!

以下は小見出しが質問文で、本文はAIの回答です。

@api-lab どんなドキュメントですか?

kintone API-lab RESTは、kintoneのREST APIに関する開発を検討中の機能を紹介するドキュメントです。このドキュメントでは、アプリ、スペース、プラグインなどを操作するためのAPIの詳細が提供されています。具体的には、アプリの設定情報の取得や変更、プラグインの追加や更新、スペースの情報取得や作成などのAPIが含まれており、それぞれのAPIの使用方法、URL、HTTPメソッド、必要なアクセス権、リクエストパラメーター、レスポンスの形式などが記載されています。開発者はこれらの情報を参考にして、kintoneのカスタマイズやシステム連携のためのAPIを利用することができます。

@api-lab どうすれば使うことができますか?

kintone API-lab RESTを使用するには、以下の手順を踏む必要があります。

  1. 開発中の新機能を有効にする: kintoneのアップデートオプション内で「開発中の新機能」を有効にしてください。これにより、API-labで提供されている開発を検討中のAPIを試すことができます。

  2. APIのドキュメントを確認する: kintone API-lab RESTのドキュメントを参照し、使用したいAPIの詳細を確認してください。APIのURL、HTTPメソッド、必要なパラメータ、レスポンスの形式などを理解する必要があります。

  3. アクセス権を確認する: 各APIには異なるアクセス権が必要です。APIを実行するためには、適切な権限を持つユーザーであることを確認してください。

  4. リクエストを構築する: APIのドキュメントに従って、HTTPリクエストを構築します。リクエストには、必要なヘッダー、パラメータ、ボディ(POSTやPUTの場合)が含まれることがあります。

  5. APIを実行する: 構築したリクエストを使用してAPIを実行し、レスポンスを確認します。開発中のAPIは仕様が変更される可能性があるため、本番環境での使用前に十分なテストが必要です。

  6. フィードバックを提供する: API-labで提供されているAPIは開発を検討中のものであるため、使用した感想や改善点などのフィードバックを提供することが推奨されています。

APIを利用する際には、kintoneの利用規約やAPIの利用制限にも注意してください。

@api-lab どんなAPIがありますか?

kintone API-lab RESTには、以下のようなAPIがあります。

  • アプリ関連のAPI:

    • アプリの一般設定を取得・変更する

    • アプリ管理者用メモを取得・変更する

    • カテゴリーの設定情報を取得・変更する

    • アプリに追加されているプラグインを取得・追加・更新・削除する

    • アプリの所属するスペースを変更する

  • プラグイン関連のAPI:

    • インストール済みのプラグインの一覧を取得する

    • インストールが必要なプラグインの一覧を取得する

    • プラグインを追加・更新・削除する

  • スペース関連のAPI:

    • スペースの情報を取得する

    • スペースを作成する

    • スペースの設定を変更する

    • スペースのスレッドを作成する

これらのAPIは、kintoneの機能を拡張するために使用され、アプリの設定やデータの操作、スペースの管理など、様々な操作をプログラムから行うことができます。開発中の新機能を試すためには、アップデートオプション内の「開発中の新機能」を有効にする必要があります。

サンプルコードも書いて!

@api-lab アプリに追加されているプラグイン一覧を取得するサンプルコードを書いてください

以下は、kintone API-lab RESTを使用してアプリに追加されているプラグイン一覧を取得するためのJavaScriptのサンプルコードです。このコードは、フロントエンドで実行することを想定しています。

const appId = 1; // アプリIDを指定してください
const apiToken = 'YOUR_API_TOKEN'; // 適切なAPIトークンに置き換えてください

const headers = new Headers({
  'X-Cybozu-API-Token': apiToken,
  'Content-Type': 'application/json'
});

const url = `https://sample.cybozu.com/k/v1/app/plugins.json?app=${appId}`;

fetch(url, {
  method: 'GET',
  headers: headers
})
.then(response => response.json())
.then(data => {
  console.log('プラグイン一覧:', data.plugins);
})
.catch(error => {
  console.error('エラー:', error);
});

このコードは、`appId`に指定されたアプリのプラグイン一覧を取得し、コンソールに出力します。APIトークンは、kintoneのAPIを安全に利用するために必要です。適切なトークンを設定してください。

また、このコードはサンプルのドメイン `sample.cybozu.com` を使用していますが、実際の環境に合わせてドメインを変更する必要があります。また、CORSポリシーによりブラウザから直接kintoneのAPIにリクエストを送ることができない場合があるため、その場合はサーバーサイドでの実行やCORSを許可するプロキシを使用する必要があります。

これはあらゆる場面で使えるぞ…!

初めて使うAPIのサンプルコードを書いてくれました。これはドキュメントの中にもない情報です。

今回はkintoneの開発中APIについてドキュメントを読んでもらいました。これはkintoneに限らず、「新しくこれから挑戦したいAPI」についても公式ドキュメントさえ読ませればサンプルコードも書いてくれるということです。

LTのなかでこんなまとめ方をしました。

  • 新しい言語やフレームワークに挑戦するオトモに

  • 公開してよい情報なら"cursorで読んで"とメンバーに共有できる

  • 今後はリファレンスさえ書けばドキュメント不要かも?

プログラマーとしてAPIを使う側でももちろん便利すぎるCursorですが、CursorのようなAIが扱える前提であればリファレンスさえ公開してしまえばプログラマーはAPIをすぐにでも使いこなすことができるようになります。

さらに、AIに読ませる前提ですので言語を問いません。英語のリファレンスをAIに読ませて日本語で回答させることも、その逆に日本語のリファレンスについて英語で質問することもできるわけです。

この動きは間違いなく不可逆的です。これからはソフトウェアに関する文書だけではなく、例えば社内規定だったり行政文書だったりも、AIが読んで咀嚼して伝えてくれる前提の世の中になっていくかと思います。

もうめっちゃワクワクしてきますね!

いいなと思ったら応援しよう!