Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Puppeteer使用を止め「プラグインを読み込む」APIを使用する方式にしてほしい #45

Open
r3-yamauchi opened this issue Feb 5, 2025 · 5 comments
Labels
feature request Feature request

Comments

@r3-yamauchi
Copy link

対象パッケージ

@kintone/plugin-uploader

なぜ

2024年7月版で「プラグインを読み込む」API が正式リリースされたため、
Puppeteer を使用しなくても kintoneへプラグインを登録できる。
Puppeteer を使用し続けていることにより kintone のプラグイン管理画面アップデートの影響を受けて動作しなくなるとか、
OS の仕様変更によって Puppeteer が(オプション無しでは)動かなくなったといった理由により機能しなくなる問題が発生する。

何を

Puppeteer を使用しているコードを排除し、例えば @kintone/customize-uploader が実現しているのと同様に
kintone REST API だけを使用して kintoneへプラグイン登録できるようになると良い。

@r3-yamauchi r3-yamauchi added the feature request Feature request label Feb 5, 2025
@tasshi-me
Copy link
Member

@r3-yamauchi
フィードバックありがとうございます!

「プラグインを読み込む」APIを使った実装への置き換えについては、タスクとしては積んでいるのですが工数の都合でまだ着手できていない状態です。
開発チーム側としても現行のPuppeteerを使った実装は自動テストしづらく、また画面側のアップデートにも影響を受けるためAPIへの置き換えは進めていきたいと考えています!
今年中には置き換える予定なのでもうしばらくお待ちいただけると幸いです!

@r3-yamauchi
Copy link
Author

少し実装してみたんですが「プラグインを更新する」のAPI は 必須パラメータとして プラグインID を要求するんですね。

以下の実装で新規登録は出来るんですけど、更新する際にプラグインID をどこから取得するか・・
https://github.com/r3-yamauchi/js-sdk/commits/r3yamauchi

Puppeteer の場合は プラグイン登録の画面 /k/admin/system/plugin/ と同じで プラグインID を渡す必要がないので
同じインターフェースとしたいところですが悩ましいですね

@r3-yamauchi
Copy link
Author

@tasshi-me
プラグインのパッケージ済みzipファイルだけをもとにプラグインID を知る方法は公表されておらず、
秘密鍵ファイル.ppk が必要だと思うので plugin-packer と連動する前提にするしかないかもですね

「プラグインを更新する」API が プラグインIDを必須要求せず、 fileKey だけでプラグインを更新
できるようになれば・・と思うのですが、どう思われますか?
https://cybozu.dev/ja/kintone/docs/rest-api/plugins/update-plugin/

@tasshi-me
Copy link
Member

@r3-yamauchi
実装までお試しいただいてありがとうございます!

「プラグインを更新するAPI」については、プラグインIDを指定せずにfileKeyのみでプラグインを更新できると、指定するZIPファイルを間違えた場合に意図しないプラグインを更新してしまうため、これをインターフェースレベルで防ぐためにプラグインIDとfileKeyをセットで指定するようになっています。
これはプラグインの更新をセキュアに行いたい要求のためのものですが、一方でシンプルに手元のZIPファイルを更新したいケースには少し不便があると思います。

プラグインIDが分かれば従来のplugin-uploaderと同様に利用できるのですが、
おっしゃる通りで、プラグインIDを取得する方法は非公開のため、plugin-packerと連動するしかないのが現状です。
プラグインIDをもっと簡単に取得できるようにできたほうが良いのは私も同意ですので、社内でフィードバックさせていただきます!

※ちなみにまだExperimentalな機能ですが、cli-kintoneのplugin infoコマンドを使うとプラグインIDを取得できますので、ご参考までに、、、
https://cli.kintone.dev/guide/commands/plugin-info/

@r3-yamauchi
Copy link
Author

r3-yamauchi commented Feb 25, 2025

@tasshi-me
コメントありがとうございます。
「プラグインを更新するAPI」はプラグインIDとfileKeyをセットで指定する仕様とのこと、よく分かりました。

cli-kintoneのplugin infoコマンド

のソースコードを拝見し、これを移植すれば出来そうだなと思ったのですが、この機能はまだExperimentalなんですね。

cli-kintone側での扱いが定まるまで待つべきかなと思いました。 m(_ _)m

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Feature request
Projects
None yet
Development

No branches or pull requests

2 participants