kintoneのAPIを用いたプラグインのアップロード
先日の記事で触れたとおりですが、kintoneのpluginについて、
チュートリアルではkintone-plugin-uploaderというサイボウズさん公式ツールを利用する手順となっています。
このツールが内部的にpuppeteerを使い、chromeを動作させているものとなっており、
- 様々なパッケージへの依存性がある(devcontainer環境だと特に辛い)
- 重い、遅い、安定しない
といった辛さがありました。
「pluginアップロード用のAPIが公開されてたらな〜」とこぼしていたのですが、調べると、なんとあるではないですか。

プラグインを更新する
https://cybozu.dev/ja/kintone/docs/rest-api/plugins/update-plugin/
(チュートリアルでも案内してもらいたい・・・)
しかしながら、REST APIの仕様を見ると、
- pluginのファイルをアップロード
- アップロードしたファイルからpluginをインストール/更新
とするようで、ワンタッチ操作というわけではなさそうです・・・。
そして、これを実際に利用されているという記事もあります。

kintone プラグインアップロード処理 - Qiita
参考にさせていただきつつ、CLIなので別にこだわるまでもなさそうですが、ESM対応したツールとしてnpmパッケージを作成しました。

Build software better, together
https://github.com
kintoneの認証情報が必要になるので、package.jsonで次のように指定して使っています。 .secretに認証情報を格納し、gitの追跡対象外にしています。
"scripts": {
"deploy": "export $(cat .secrets | xargs) && kintone-api-plugin-uploader -f dist/plugin.zip",
},KINTONE_SUBDOMAIN=https://xxxxxxxxxx.cybozu.com
KINTONE_USERNAME=(your username)
KINTONE_PASSWORD=(your password)※AWSとかみたいな短期認証情報とかは使えなさそうですね
前回記事でも、devcontainer上でpuppeteerを動かすため、いろんな依存パッケージを入れましたが、きれいさっぱり捨て去っても動作するようになりました!そして動作も速い!
今後、プラグイン開発するときはこれを使うとスムーズに作業できそうです。 (あと地味にplugin-packerも2回目以降はppkを指定するというやり方になっていて、コマンド指定を変えないといけないのが嫌なんですけどね・・・)
- コメント -
- 関連記事 -
- 記事検索 -
このサイトではcookieを利用して、サイト訪問者の識別に利用します。 cookieの利用に同意いただくことで、サイト訪問者は記事のいいね機能等をご利用いただけます。 なお、サイト運営者はアクセス統計としてcookieの情報を利用する場合があります。