Because We Love Happy Coding

フリーライターからエンジニアへ。発信力だけあり余ってる感じ

kintoneにコマンドラインからJavaScriptをアップロードする

kintoneにJavaScriptをアップロードする際、これまでwebブラウザから「アップロード」したり「プラグイン更新」したりしていたけれど、コマンドラインからアップロードできるという情報を知ったので試してみることにした。

目次

環境

  • kintone

手順

先にマニフェストファイルを作成して、備えることにした。

{ "app": "1", "scope": "ALL", "desktop": { "js": [ "sample.js" ], "css": [ ] }, "mobile": { "js": [ ] } } カスタマイズ用のJS/CSSファイルをコマンドラインからアップロードしよう! – cybozu developer network

cybozuのサンプルでは、customize-manifest.jsonになっているけれど、アプリ単位でマニフェストファイルを用意する想定になっているので、アプリ名を含めてsomeappname_manifest.jsonにした方が使い勝手がいいと思う。アプリごとにjsonを用意すれば、1つのフォルダに異なるアプリのソースが共存していても、アップロード時にマニフェストファイルで選択することができる。

npm でグローバルインストール。

  A kintone customize uploader

  Usage
    $ kintone-customize-uploader <manifestFile>
  Options
    --domain Domain of your kintone
    --username Login username
    --password User's password
    --basic-auth-username Basic Authentication username
    --basic-auth-password Basic Authentication password
    --proxy Proxy server
    --watch Watch the changes of customize files and re-run
    --dest-dir -d option for subcommands
                  this option stands for output directory
                  default value is dest/
    --lang Using language (en or ja)
    --guest-space-id Guest space ID for uploading files

  SubCommands
    init   generate customize-manifest.json

    import download js/css files and update customize-manifest.json

    You can set the values through environment variables
    domain: KINTONE_DOMAIN
    username: KINTONE_USERNAME
    password: KINTONE_PASSWORD
    basic-auth-username: KINTONE_BASIC_AUTH_USERNAME
    basic-auth-password: KINTONE_BASIC_AUTH_PASSWORD
    proxy: HTTPS_PROXY or HTTP_PROXY

VSCodeの画面内のターミナルからコマンドを叩いてみる。

kintone-customize-uploader --domain <サブドメイン>.cybozu.com --username <ログイン名> --password <パスワード> customize-manifest.json

ちゃんとアップロードされました。

管理が便利になる

設定してみると、思った以上に快適。

  • 複数ファイルのアップロードもコマンド一発
  • マニフェストファイルを複数用意して選択するだけで、アップロードする組み合わせを変更できる
  • 共通ライブラリ用のjsファイルと、アプリの専用jsファイルを一つのsrcフォルダに放り込んでおいて、マニフェストファイルで必要なファイルをアップロードすることが可能。
  • VisualStudioCodeの組み込みターミナルからアップロードできるので便利。Tasks in Visual Studio Codeと組み合わせたらもっと便利にできそう。