使用plugin-uploader将插件上传到kintone

aki发表于:2019年09月20日 09:53:51更新于:2021年09月06日 16:10:56

Index

概要

为了能更加方便地开发kintone的插件,插件开发辅助工具群发布了!

本次就其中之一的plugin-uploader进行说明。

※其他的工具请参考此处

所谓plugin-uploader

可将插件的zip文件上传到kintone的CLI工具。

可支持npm,便于在Windows/macOS/Linux等环境下运行。

代码发布在GitHub

※ 使用此工具需要安装Node,其版本要求请参考仓库package.json下的engines属性。
例如:engines下注明如下时,表示需要Node.js版本10以上。

"engines": {
  "node": ">=10"
 },

安装方法

安装plugin-uploader。

※ 这里以通过npm进行全局安装为例。

$ npm install -g @kintone/plugin-uploader

执行以上命令即可安装plugin-uploader。

基本使用方法

将创建好的插件zip文件上传到kintone。kintone的环境信息的输入方法有三种。

※ 需要kintone管理权限才可执行。

直接指定的方法

除了要上传的文件,还要通过选项输入域名信息、登录名、密码。
如果是在定期处理等情况下使用此工具,用这个方法最合适。

$ cd sample_project    
$ kintone-plugin-uploader --base-url https://<子域名>.cybozu.cn --username <登录名> --password <密码> plugin.zip    

> Open https://<子域名>.cybozu.cn/login?saml=off    
> Try to logged-in...    
> Navigate to https://<子域名>.cybozu.cn/k/admin/system/plugin/    
> Try to upload plugin.zip    
> 已上传plugin.zip!

通过对话形式指定的方法

一开始只指定要上传的文件,之后通过对话形式输入域名信息、登录名、密码。

$ cd sample_project    
$ kintone-plugin-uploader plugin.zip    
  
# 用对话形式输入环境信息    
? 请输入kintone的域名 (https://example.cybozu.cn): https://<子域名>.cybozu.cn 
? 请输入登录名: <登录名>    
? 请输入密码: <密码>    

> Open https://<子域名>.cybozu.cn/login?saml=off    
> Try to logged-in...    
> Navigate to https://<子域名>.cybozu.cn/k/admin/system/plugin/    
> Try to upload plugin.zip    
> 已上传plugin.zip!

通过环境变量指定的方法

预先给环境变量设置kintone的域名等信息,然后直接使用环境变量。
如想在执行命令时避免在页面上出现密码等,使用此方法最方便。

# Windows(PowerShell)的情况    
# 预先在环境变量中设置kintone的信息    
set-item "env:KINTONE_BASE_URL" https://<子域名>.cybozu.cn
set-item "env:KINTONE_USERNAME" <登录名>    
set-item "env:KINTONE_PASSWORD" <密码>    
set-item "env:HTTPS_PROXY or HTTP_PROXY" <代理服务器设置>    

# 执行命令
$ cd sample_project
$ kintone-plugin-uploader --base-url $env:KINTONE_BASE_URL --username $env:KINTONE_USERNAME --password $env:KINTONE_PASSWORD plugin.zip


# Mac的情况    
# 预先在环境变量中设置kintone的信息    
export KINTONE_BASE_URL=https://<子域名>.cybozu.cn
export KINTONE_USERNAME=<登录名>    
export KINTONE_PASSWORD=<密码>    
export HTTPS_PROXY or HTTP_PROXY=<代理服务器设置> 
   
# 执行命令    
$ cd sample_project
$ kintone-plugin-uploader --base-url $KINTONE_BASE_URL --username $KINTONE_USERNAME --password $KINTONE_PASSWORD plugin.zip

选项功能

除了域名信息及登录信息之外,还有其他选项功能。

代理设置

如果使用了代理服务器,可以使用--proxy来指定代理信息。

$ kintone-plugin-uploader --proxy Proxy server plugin.zip   
 
# 使用环境变量的情况    
$ kintone-plugin-uploader --proxy $HTTP_PROXY plugin.zip

监控文件

使用--watch可以对zip文件的更新进行监控,一旦发现有更新即自动上传到kintone。

$ kintone-plugin-uploader --watch plugin.zip

※  如要停止监控,用“ctrl + c”命令取消。

和plugin-packer整合

和打包插件文件的plugin-packer组合使用的话,一旦代码有修改,即可自动打包并上传到kintone。

整合方法

打开两个终端,分别执行以下操作。

# 移到保存有插件文件的目录    
$ cd sample_project    

# 终端1    
# 指定watch选项,执行plugin-packer    
$ kintone-plugin-packer --watch src    
# => 生成plugin.zip,并监视src目录是否有变更
    
# 终端2    
# 指定watch选项执行plugin-uploader    
$ kintone-plugin-uploader --watch plugin.zip    
# => 上传插件文件,监视plugin.zip是否有变更

之后,只要在src内对文件进行修改,修改后会自动应用到kintone。

最后

使用plugin-uploader工具,不需要对kintone进行操作,只要执行命令行就可以上传插件。

如前文所述,和plugin-packer组合使用的话,可以更加轻松地开发kintone插件了!

注意事项

根据许可协议,可对代码进行更改、再发布及用于商业目的。