パイプライン Kotlin DSL
TeamCity 2026.1 では、設定を Kotlin DSL に保存しているプロジェクトが所有するパイプラインは、その設定を自動的に Kotlin に変換できます。 おなじみの ビジュアル/YAML 切り替えスイッチには、新たに Kotlin DSL タブが表示されます。

これにより、パイプラインに「ギャップ」のない、完全なプロジェクト DSL を実現できます。
DSL 互換モード
パイプラインを含むプロジェクトでバージョン管理された設定を有効にすると、パイプラインが設定を保存する場所によっては、いくつかの制限が生じます。
プロジェクトのバージョン管理設定を有効化した時点で、 メインパイプラインリポジトリが YAML をサーバーに保存していた場合、 VCS リポジトリ内 モードに切り替わり、TeamCity UI から部分的に編集できるようになります。 ビジュアル タブまたは YAML タブで行った編集は自動的に DSL に変換されますが、自動的に保存またはコミットすることはできません。 新しい変更に関連する生成された DSL をコピーし、プロジェクトの
.ktsファイルに手動でコミットしてください。 コミットするまで、パイプラインの現在の構成がリモートファイルに保存されている構成と一致しないため、パイプラインは実行できません。メインリポジトリがすでに構成ファイルをリモート YAML ファイルとして保存している場合、パイプラインは TeamCity UI から引き続き完全に編集できます。 ただし、プロジェクトの
.ktsファイルにはこのパイプラインの Kotlin DSL は含まれないため、プロジェクト設定ファイルは不完全なままとなります。
パイプライン DSL エンティティ
パイプライン固有のクラスは、 jetbrains.buildServer.configs.kotlin.pipelines (英語) 名前空間で宣言されます。 この名前空間の主要オブジェクトは次のとおりです。
- パイプライン
パイプラインを表します。
DSL ドキュメント: パイプライン (英語)
- ジョブ
作業を表します。
DSL ドキュメント: ジョブ (英語)
- リポジトリ
パイプラインジョブが処理できるリポジトリを表します。 パイプライン設定 | リポジトリ の各エントリは
PipelineRepositoryEntryインスタンスに対応し、ジョブはJobRepositoryEntryオブジェクトを操作します。DSL ドキュメント: PipelineRepositoryEntry(英語) | JobRepositoryEntry(英語)
- ファイル公開
アーティファクトとして公開するファイル、共有ファイル(下流ジョブと共有するファイル)、またはその両方として公開するファイルを指定します。
DSL ドキュメント: FilePublication(英語)