jetbrainsツールteamcity用のプラグインを作成しました。トリガーされたビルドをリッスンし、トリガーされたもの、そこでの変更の数など、さまざまなビルドに関する情報を含むテキストファイルを出力するのは、ほとんどサーバーリスナーです。終了後、入力可能なPythonスクリプトを作成しました。サーバーの実行中にチームシティに情報を入力し、ビルドを開始します。ビルドの実行後にそのビルドのアーティファクトを取得できるようにしたいのですが、問題は、各ビルドの実行にかかる時間がわからないことです。30秒の場合もあれば30分の場合もあります。
だから私はPythonでこの行を使ってビルドを開始しています。
urllib.urlopen('http://'+username+':'+password+'@localhost/httpAuth/action.html?add2Queue='+btid+'&system.name=<btid>&system.value=<'+btid+'>&system.name=<buildNumber>&system.value=<'+buildNumber+'>')
ビルドの実行後(不定の時間)、この行を使用してテキストファイルを取得したいと思います。
urllib.urlopen('http://'+username+':'+password+'@localhost/httpAuth/action.html?add2Queue='+btid+'&system.name=<btid>&system.value=<'+btid+'>&system.name=<buildNumber>&system.value=<'+buildNumber+'>')
繰り返しますが、問題は、2行目を実行する前にどれくらい待つかわからないことです。通常、Javaでは、特定の時間スリープし、ビルドが完了するのを待つ、ある種の2番目のスレッドを実行します。Pythonでこれを行う方法がわかりません。したがって、Pythonでこれを行う方法、またはこれを行うためのより良い方法のいずれかについて誰かが考えている場合は、それをいただければ幸いです。自分自身をもっとよく説明する必要がある場合は、私に知らせてください。
許す-