kintoneのAPIを用いたプラグインのアップロード
2025年1月7日

kintoneのAPIを用いたプラグインのアップロード

1,509文字(読了まで約4分)

先日の記事で触れたとおりですが、kintoneのpluginについて、 チュートリアルではkintone-plugin-uploaderというサイボウズさん公式ツールを利用する手順となっています。 このツールが内部的にpuppeteerを使い、chromeを動作させているものとなっており、

  • 様々なパッケージへの依存性がある(devcontainer環境だと特に辛い)
  • 重い、遅い、安定しない

といった辛さがありました。

「pluginアップロード用のAPIが公開されてたらな〜」とこぼしていたのですが、調べると、なんとあるではないですか。

プラグインを更新する

プラグインを更新する

cybozu developer network
https://cybozu.dev/ja/kintone/docs/rest-api/plugins/update-plugin/

(チュートリアルでも案内してもらいたい・・・)

しかしながら、REST APIの仕様を見ると、

  • pluginのファイルをアップロード
  • アップロードしたファイルからpluginをインストール/更新

とするようで、ワンタッチ操作というわけではなさそうです・・・。

そして、これを実際に利用されているという記事もあります。

kintone プラグインアップロード処理 - Qiita

kintone プラグインアップロード処理 - Qiita


参考にさせていただきつつ、CLIなので別にこだわるまでもなさそうですが、ESM対応したツールとしてnpmパッケージを作成しました。

Build software better, together

Build software better, together

GitHub
https://github.com

kintoneの認証情報が必要になるので、package.jsonで次のように指定して使っています。 .secretに認証情報を格納し、gitの追跡対象外にしています。

package.json
  "scripts": {
    "deploy": "export $(cat .secrets | xargs) && kintone-api-plugin-uploader -f dist/plugin.zip",
  },
.secret
KINTONE_SUBDOMAIN=https://xxxxxxxxxx.cybozu.com
KINTONE_USERNAME=(your username)
KINTONE_PASSWORD=(your password)

※AWSとかみたいな短期認証情報とかは使えなさそうですね

前回記事でも、devcontainer上でpuppeteerを動かすため、いろんな依存パッケージを入れましたが、きれいさっぱり捨て去っても動作するようになりました!そして動作も速い!

今後、プラグイン開発するときはこれを使うとスムーズに作業できそうです。 (あと地味にplugin-packerも2回目以降はppkを指定するというやり方になっていて、コマンド指定を変えないといけないのが嫌なんですけどね・・・)

- コメント -

    このサイトではcookieを利用して、サイト訪問者の識別に利用します。 cookieの利用に同意いただくことで、サイト訪問者は記事のいいね機能等をご利用いただけます。 なお、サイト運営者はアクセス統計としてcookieの情報を利用する場合があります。