1
1

kintoneアプリに適用しているJSやCSSファイルの一覧を抜き出す

Posted at

kintoneのSEをやっていると、システムを構築した後にお客様の要望で仕様書を提出することがある。
例えばカスタマイズJSのファイル名の一覧とその内容などをエクセルで提出せよ的な。
JSファイルがたくさんある場合は、APIで抜き出すと簡単です。

準備

jqをインストールしておきます。
https://jqlang.github.io/jq/

API

利用するAPIは下記です。

JavaScript / CSSカスタマイズ設定を取得する
https://cybozu.dev/ja/id/9b499a476dafed45a6f62dd3/

注意点

APIトークンは使えません。
当然ですが、アプリ管理権限がないと実行できません。

API叩いて設定情報のJSONを取得する

アプリをブラウザで開いて、開発者コンソールにてコマンドを打ち込むのが一番簡単です。

kintone REST APIリクエストを送信するAPIを使ったリクエスト

const body = {
app: kintone.app.getId()
};

await kintone.api(kintone.api.url('/k/v1/app/customize.json', true), 'GET', body);

コンソールにJSONが吐き出されるのでコピーします。

コピーしたJSONをエディタに貼り付けてファイルに保存します。

jqにて必要な情報を抜き出す

設定情報をJSONファイルに保存したら、jqコマンドで整形していきます。

APIドキュメントの下記のサンプルレスポンスを参考にします。

{
  "scope": "ALL",
  "desktop": {
    "js": [
      {
        "type": "URL",
        "url": "https://sample.com/example.js"
      },
      {
        "type": "FILE",
        "file": {
          "contentType": "application/javascript",
          "fileKey": "20150519023802B3EB762E870645F889B22F9D4F1F3059023",
          "name": "sample.js",
          "size": "12345"
        }
      }
    ],
    "css": []
  },
  "mobile": {
    "js": [
      {
        "type": "FILE",
        "file": {
          "contentType": "application/javascript",
          "fileKey": "20140823043800E9F53A742F7F4416B6E47234DBD6C0D4025",
          "name": "mobile.js",
          "size": "12345"
        }
      },
      {
        "type": "URL",
        "url": "https://sample.com/example-mobile.js"
      }
    ],
    "css": []
  },
  "revision": "15"
}

desktop js name の抽出

cat [JSONファイル名] | jq '.desktop.js[] | .file.name'

desktop js url の抽出

cat [JSONファイル名] | jq '.desktop.js[] | .url'

desktop css name の抽出

cat [JSONファイル名] | jq '.desktop.css[] | .file.name'

desktop css url の抽出

cat [JSONファイル名] | jq '.desktop.css[] | .url'

mobile js name の抽出

cat [JSONファイル名] | jq '.mobile.js[] | .file.name'

mobile js url の抽出

cat [JSONファイル名] | jq '.mobile.js[] | .url'

mobile css name の抽出

cat [JSONファイル名] | jq '.mobile.css[] | .file.name'

mobile css url の抽出

cat [JSONファイル名] | jq '.mobile.css[] | .url'

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1