スクリプト活用
lm は CI/CD パイプラインやシェルスクリプトでの利用を想定して設計されています。
環境変数
プロンプトなしで実行するには環境変数を設定します。
| 変数 | 説明 |
|---|---|
LM_TOKEN | トークン直接指定(全 auth バイパス) |
LM_CHANNEL_ID | Channel ID |
LM_CHANNEL_SECRET | Channel Secret(stateless 用) |
LM_PROFILE | プロファイル名 |
LM_FORMAT | 出力フォーマット: table/json/yaml/csv |
LM_CONFIG_DIR | 設定ディレクトリパス |
LM_NO_INPUT | 1 で非対話モード |
LM_ENDPOINT | API ベース URL 上書き(テスト用、HTTPS のみ) |
LM_DEBUG | 1/true/api でデバッグログ |
Exit Code
スクリプトでエラーハンドリングに使えます。
| Code | 意味 |
|---|---|
| 0 | 成功 |
| 1 | 一般エラー、設定ファイル parse エラー |
| 2 | 認証エラー(401/403、トークン未設定) |
| 3 | リソース未検出(404) |
| 4 | バリデーションエラー(引数不正) |
| 5 | LINE API エラー |
| 6 | ネットワークエラー |
| 10 | キャンセル(Ctrl+C) |
| 11 | レート制限(429) |
CI/CD での利用例
GitHub Actions
yaml
- name: Notify LINE
env:
LM_TOKEN: ${{ secrets.LINE_TOKEN }}
run: |
lm message push --to ${{ vars.LINE_USER_ID }} --text "Deploy completed: ${{ github.sha }}"トークン有効性チェック
bash
if ! lm auth token --check; then
echo "Token is invalid, re-authenticating..."
lm auth login --type stateless
fi設定ファイル検証
bash
lm config validateconfig.yaml: ok (1 profile(s))
credentials.yaml: ok
tokens.yaml: ok (default: valid)
Active profile: default出力の加工
JSON + jq
bash
# Bot の Display Name を取得
lm bot info --format json | jq -r '.displayName'
# フォロワー数を取得
lm user followers --all --format json | jq '.userIds | length'パイプ
stdout はデータのみ、stderr は人間向けメッセージです。
bash
# トークンを変数に格納(stderr のメッセージは画面に表示される)
TOKEN=$(lm auth token)
# エラーメッセージを抑制してデータだけ取得
lm bot info --format json 2>/dev/nullデバッグ
bash
# HTTP リクエスト/レスポンスヘッダーを表示
LM_DEBUG=1 lm bot info
# リクエスト/レスポンスボディも表示
LM_DEBUG=api lm message push --to U1234 --text "test"