接続先(プロファイル)
MT は本番・ステージング・検証用と複数台あるのが普通です。mtb では接続先に 名前を付けて切り替えます。
mtb profile add prod --base-url https://example.com/cgi-bin/mt/mt-data-api.cgi
mtb profile add stg --base-url https://stg.example.com/cgi-bin/mt/mt-data-api.cgi
mtb profile use stg # 既定を切り替える
mtb profile set --site-id 3 # 既定サイトID(--site-id を省ける)
mtb profile list # 一覧。* が既定
mtb profile show # いま実際に使う接続先
mtb sites entries list --profile prod # その場だけ切り替えるベースURLは mt-data-api.cgi まで
よくある間違い
--base-url にサイトのトップURLを入れると 404 になります。指定するのは Data API のエンドポイント(.../cgi-bin/mt/mt-data-api.cgi)までです。
公式リファレンスからコピーした URL の末尾に /v7 が付いていても問題ありません。 mtb がこの部分を取り除き、バージョンとして解釈します。
引数を省いたときの対話入力
mtb profile add を引数なしで実行すると、既存のプロファイルを一覧表示してから 名前と URL の入力を求めます。同じサーバを二重に登録したり、接続先が本番のまま 作業を続けたりする誤りを減らすためです。登録が済むと、続けてサインインするか どうかも尋ねます(既定は Y)。
$ mtb profile add
プロファイル名(例: prod): prod
Data API の URL(例: https://example.com/cgi-bin/mt/mt-data-api.cgi): ...
プロファイル prod を追加しました
このままサインインしますか? (Y/n):
ユーザー名: alice
Webサービスパスワード:対話できない環境(CI・スクリプト)では入力を求めません。 次に実行することを 表示して終了するので、その場合は mtb profile add <名前> --base-url <URL> の形で 渡してください。
優先順位
フラグ → 環境変数 → プロファイル → 既定値の順で決まります。
どのサーバに接続しようとしているのか分からなくなったら、mtb profile show で確認します。 設定を重ね合わせた結果と、読み込んだ .env の場所が表示されます。
| 環境変数 | 用途 |
|---|---|
MTB_PROFILE | 使うプロファイル名 |
MTB_BASE_URL | 接続先(プロファイル無しでも実行できる) |
MTB_SITE_ID | 既定サイトID |
MTB_CONFIG_DIR | 設定ディレクトリ(既定 ~/.config/mtb) |
すべての環境変数は環境変数と設定ファイルにまとめてあります。
作業ディレクトリごとに固定する
カレントディレクトリに .env があれば読み込みます。 プロジェクトごとに 接続先を設定しておけます。
# work/.env
MTB_PROFILE=stg
MTB_SITE_ID=3export付きの行・#で始まる行・値を囲む引用符に対応します- 行末コメントには対応していません(
MTB_PASSWORD=pa#ssの#から先を切り捨てると、 パスワードが別の値になり、401 になるため) - プロセスの環境変数が優先されます。 シェルで設定した値を、
.envの値が気づかないうちに上書きすることはありません - 読み込んだ値をプロセスの環境には書き込みません。mtb が起動する他のプロセスに値が渡ることはありません
作業ディレクトリで接続先が変わりうる
.env があると、同じコマンドでもどのディレクトリで実行したかによって接続先が変わります。 .env で固定するか、--profile を明示するか、どちらかに決めておいてください (.env より --profile が優先されます)。
MTB_PASSWORD を書くなら .gitignore に .env を入れてください。
表示言語
人間に向けた文言(メッセージ・ヘルプ・エラー)は日本語と英語を切り替えられます。
mtb sites list --lang en
MTB_LANG=ja mtb sites list指定が無ければ LC_ALL → LC_MESSAGES → LANG の順に見て、いずれも無ければ 英語です。エンドポイントの説明は公式の OpenAPI 定義そのままなので、 どちらの言語でも英語で表示されます。mtb llm の埋め込みリファレンスは 言語によらず日本語で固定です。
次は
- 認証 — サインインする
- 環境変数と設定ファイル — 設定の置き場所