Help us understand the problem. What is going on with this article?

R3 kintone js deployerを使ってkintoneカスタマイズをハッピーに!

More than 3 years have passed since last update.

kintone Advent Calender 9日目の記事です。

最近、社内でハッピーというキーワードがよく使われているようなのでタイトルに入れてみました。

kintoneでJavaScriptのカスタマイズをしていて思うのは、JavaScriptファイルをアップロードするのが面倒なんですよね。
そこで改善できるツール作りましたよ!って書こうとしたら、前日の方も同様の記事を書かれていましたw

とは言え、もはや(時間的に)後戻りはできないので、ご紹介させて頂きたいと思います。

JavaScriptカスタマイズの流れ

kintoneでJavaScriptを使ったカスタマイズを行う場合、だいたい以下のような流れで進めます。

  1. JavaScriptプログラムを作る
  2. アプリの設定画面からkintoneへJavaScriptファイルをアップロードする
  3. 動作確認・デバッグする

2を行うためにはkintoneのアプリ設定画面を開いて、ファイルをアップロードする必要があり、結構面倒なわけです。

便利ツールを使う

JSEdit for kintone

kintoneの設定画面上で直接JavaScriptを記述できる便利なプラグインがあります。
これを使うとファイルをアップロードする手間が無くなるため、非常にお手軽にJavaScriptカスタマイズができます。
が、kintoneの画面で直接コーディングするという事は、ソースが手元に残らないので、ちょっと不安になる事があります。

Dropbox連携

Dropboxの同期機能を活用したテクがあります。
この方法でもアップロードの手間が無くなり、更にオリジナルのソースは手元で管理できるのでとても便利です。
ですが、ファイルがインターネット上に公開されている状態なので、ちょっと不安になる事があります。

R3 kintone js deployer で万事解決!?

そこで(僕ではありませんが)作ったのが R3 kintone js deployer (∩´∀`)∩ワーイ

本ツールはコマンドライン形式で実行するもので、設定ファイルに記述した情報を元に、kintoneへJavaScriptファイルをアップロードしてくれます。(Rubyの実行環境が必要です)

例えば、

$ ruby deploy.rb dev customerlist

のような形式で、dev環境に存在するcustomerlistアプリに対してアップロードする事ができます。(devとかcustomerlistの名前は自由に定義できます)

接続先のkintone環境やアプリを細かく設定できるので、開発環境にアップロードしたり、本番環境へアップロードしたり自由自在です( ー`дー´)キリッ

コマンドラインから実行できるという事は、他のツールと連動した使い方も可能になるわけです。
最近の弊社では、webpackgulpR3 kintone js deployerを組み合わせる事で、

  • JavaScriptファイルが変更された事を自動で検知
  • ソースを圧縮(Minify)
  • アプリへアップロード

の一連の操作を自動化しています。

ちょっと惜しい点としては、kintoneのデプロイAPIを使っているため、反映までに数秒かかってしまうという事です。

便利なツールを組み合わせて、kintoneカスタマイズをハッピーに!!

r3it
クラウドを利用して、可能な限り早く/すぐ利用できるシステムを構築する「ハイスピードSI」を提供している大阪の会社です
https://www.r3it.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away