2015-09-09 9 views
14

TeamCityで特定のターゲットブランチにすべてのプルリクエストを作成します。 develop
だから、私は以下のプルリクエストを構築したい:TeamCityとGithubを使用して特定のブランチにプルリクエストをビルドします。

develop...foo_branch 
develop...bar_branch 

このスキップ:私はすべての要求を引っ張る構築するbranch specificationを定義することができるチームシティーで

master...foo_branch 
master...bar_branch 

を:

+:refs/pull/*/head 

かソースブランチでフィルタを定義する:

-:refs/heads/(spikes-*) 

しかし、フィルタが必要ですターゲットブランチです。出来ますか?

+0

これに答えていただければ幸いです。 –

+0

答えも知りたいですか? – MartinCz

+0

私は同じ質問があります。 – ppapapetrou

答えて

3

現在、TeamCityのターゲットブランチに基づいてプルリクエストブランチを区別することはできません。今後のリリースで予定されているhttps://youtrack.jetbrains.com/issue/TW-43759リクエストを見て/投票してください。

5

この問題を回避するスクリプトを作成しました。これは、TCのビルド構成における最初のビルドステップの1つとして実行できます。スクリプトは、Githubからプルリクエストの詳細を要求し、応答を解析して、ソースとターゲットのブランチ名をTeamCityのパラメータと環境変数として注入します。次のビルドステップでは、ビルドを中止するか、これらの変数に基づいて必要なものを実行することができます。仕事へのスクリプトの

https://gist.github.com/dzzh/a6d8631e9617777fb5237bc9ec7b356b

は、コマンドライン引数としてPRのIDを提出する必要があります。推奨のrefspec(refs/pulls/*/head)を使用してビルドを実行し、そこからPR IDを抽出し、そのスクリプトを呼び出します。

+0

あなたのGitHub PRに失敗メッセージが表示されずにビルドをキャンセルするにはどうすればいいですか?私はhttps://confluence.jetbrains.com/display/TCD10/Build+Failure+Conditionsを見つけたので、間違ったビルドをすぐに停止させることができますが、失敗したビルドはGitHubに報告されません?だから私が 'release-2.6'ブランチに対してPRをビルドしたのに3つのビルド設定があると、2つの失敗ステータスメッセージ" Build 'master' failed"が表示されます。 "ビルド' release-2.5'は失敗しました "そしてただ一つの成功ステータスメッセージ"ビルド 'release-2.6'が成功しました"。失敗をGitHubに報告することなくビルドを中止する方法を知っていますか? – rmunn

関連する問題