認証
TeamCity CLI は複数の認証メソッドをサポートしています。 このページでは、対話型ログイン、ゲストアクセス、CI/CD 用のトークンベース認証、マルチサーバー設定、TeamCity ビルド内の自動認証について説明します。
対話型ログイン
認証の標準的な方法は、 teamcity auth login コマンドを使用することです。
これにより、対話型フローが開始されます。
TeamCity サーバーの URL (例:
https://teamcity.example.com) を入力します。CLI がブラウザーを開き、OAuth PKCE フローを使用してアクセスを直接承認します — トークンのコピーは不要です。
サーバーで 2026.1 より古い TeamCity バージョンが実行されている場合、PKCE フローはサポートされません。 この場合、CLI は TeamCity アクセストークン ページへガイドし、トークンを手動で作成して貼り付けられるようにします。
CLI はトークンを検証し、安全に保存します。
特定のサーバー URL で認証するには:
ブラウザーベースの認証をスキップしてトークンを手動で入力するには:
トークンを直接渡すには(たとえば、パスワードマネージャーから):
ブラウザーベースのログイン (PKCE)
TeamCity 2026.1 以降のサーバーは、アクセストークンを手動で発行する必要がない効率化された認可フローをサポートしています: OAuth 2.0 PKCE 標準 (RFC 7636)。 teamcity auth login コマンドを実行すると、次のチェーンイベントが発生します。
CLI は、お使いのマシン上に一時的なローカルサーバーを起動します。
ブラウザーで TeamCity 認可ページが開きます。
新しいアクセストークンの発行を承認すると、ブラウザーは認証コードとともに CLI にリダイレクトされます。
CLI はコードをアクセストークンと交換します。
PKCE トークンには有効期限があります。 CLI はこの有効期限を追跡し、トークンの有効期限が近づいている場合、有効期限が切れた場合に警告を表示します。
アクセストークンログイン
従来のアクセストークンフローをご希望の場合は、ブラウザーベースのログインをスキップして、トークンを手動で入力してください。
CLI は TeamCity アクセストークン URL を表示し、ブラウザーで開くか確認してから、トークンを CLI に貼り付けるように求めます。
すでにトークンをお持ちの場合は、それを直接渡してください。
認証ステータスを確認
現在の認証状態を表示します。
サーバーの URL、サーバーバージョン、認証されたユーザー名、トークンの保存方法が表示されます。
ログアウト
現在のサーバーの保存された資格情報を削除します。
ゲストアクセス
TeamCity サーバーでゲストアクセスが有効化されている場合は、トークンなしで認証できます:
特定のサーバー URL の場合:
ゲスト認証は読み取り専用アクセスを提供します。 /guestAuth/ API 接頭辞を使用し、資格情報は必要とせず、保存もされません。

環境変数によるゲストアクセス
ゲストアクセスで十分な CI/CD 環境の場合:
PowerShell:
Cmd:
トークンストレージ
TeamCity CLI は、利用可能な場合はシステムキーリングを使用してアクセストークンを保存します:
プラットフォーム | キーホルダー |
|---|---|
macOS | キーチェーン |
Linux | GNOME キーリング (または互換性のある秘密情報機関) |
Windows | 資格情報マネージャー |
システムキーリングが利用できない場合、CLI はトークンをプレーンテキストで設定ファイル ~/.config/tc/config.yml に保存します。 プレーンテキストでの保存を強制するには(ヘッドレス環境など)、 --insecure-storage フラグを使用します。
環境変数
CI/CD パイプラインやスクリプト環境では、対話型ログインの代わりに環境変数を使用してください。
PowerShell:
Cmd:
ゲストアクセスの場合:
PowerShell:
Cmd:
環境変数は構成ファイルとキーリングより優先されます。 TEAMCITY_URL を設定する場合は、同じ URL に対して TEAMCITY_TOKEN も設定してください — TEAMCITY_URL だけでは、 teamcity auth login に保存されている資格情報がバイパスされます。 保存された資格情報を使用するには、 TEAMCITY_URL を未設定のままにします。
高度な認証シナリオ
TeamCity ビルド内の認証
teamcity が TeamCity ビルド内で実行される場合、ビルドプロパティファイルのビルドレベル資格情報を使用して自動的に認証されます。 追加の設定は不要です。
これにより、トークンを保存または管理することなく、ビルド手順で teamcity コマンドを使用できます。
複数のサーバー
複数の TeamCity サーバーで認証できます。 各サーバーの認証情報は個別に保存されます。
サーバーの追加
サーバーの切り替え
特定のサーバーをターゲットにする方法はいくつかあります。
環境変数 (スクリプトに推奨):
PowerShell:
Cmd:
セッション用にエクスポート:
PowerShell:
Cmd:
デフォルトを変更するには再度ログイン:
Kotlin DSL からのサーバー自動検出
TeamCity のバージョン設定を使用するプロジェクトで作業する場合、CLI は Kotlin DSL pom.xml からサーバー URL を検出できます。 現在のフォルダーとその親フォルダー内で .teamcity/ または .tc/ ディレクトリを検索し (TEAMCITY_DSL_DIR が設定されている場合はそれを使用します)、DSL プラグインリポジトリ URL からサーバー URL を抽出します。 この自動検出されたサーバー URL は、 TEAMCITY_URL が設定されていない場合に使用されます。 ただし、そのサーバーへの認証情報は別途必要です。
資格情報の優先順位
サーバー URL 解決順序(優先順位の高い順):
TEAMCITY_URL環境変数Kotlin DSL 自動検出 (
TEAMCITY_DSL_DIR、.teamcity/、.tc/)~/.config/tc/config.ymlからのdefault_server
認証解決順序(優先順位の高い順):
ゲスト認証 (
TEAMCITY_GUESTまたはゲストアクセスが設定されたサーバー)TEAMCITY_TOKEN環境変数解決されたサーバー URL の保存済みトークン (システムキーリングが最初に読み込まれ、
--insecure-storageが使用された場合はプレーンテキストの設定が読み込まれます。)TeamCity ビルド内で実行する場合のビルドレベル資格情報