2016-11-17 5 views
0

私はHTTPClientおよびGETプロセスについて理解しています。私がここで見つけようとしているのは、Team Cityでこの作業をするための正しいURL /構文です。C#を使用して最新のTeam Cityビルドから成果物をプログラム的にダウンロードするにはどうすればよいですか?

私はしかし、彼らはすべてのbuildIdを必要とし、これはRestDocumentation

で例を使用して動作するように取得しようとしてきました。これは、ビルドごとに異なるビルド番号です。私はbuildId=lastSuccesfulといくつかの組み合わせを試してみましたが、私は正しい構文を得ることができません。 Webブラウザに貼り付けたときに特定のビルドを正常にダウンロードするリンクを作成できましたが、プログラムで取得しようとすると400 Unauthorized例外が発生します。

私はREST APIを使用する前に、何とかTeam Cityにログインする必要があると思いますか?

とにかく、これはおそらくかなり簡単な操作ですが、私はそれを実行するための手順を解読できないようです。

ここに、私は起こる必要があると考えているステップがありますが、私はそれらを達成する方法がありません。

  1. チームシティにプログラムでログインします。 (これは今私のために働いています)
  2. 私のプロジェクトのための最後の成功したビルドのBuildIDを取得します。 (HELP !!)
  3. 上記のビルドに関連するアーティファクトをダウンロードしてください。 (これは今私のために働いています)

私は非常に上記を達成するための任意の助けていただければ幸いです。

ありがとうございます!

+1

認証手順に従っていますか。https://confluence.jetbrains.com/display/TCD10/REST+API#RESTAPI-RESTAuthentication – Hackerman

+0

優れています。今私はhttpAuthの代わりにguestAuthを使用し、特定のビルドからアーティファクトをダウンロードできます。 (YAY !!!)しかし、最も成功したビルドのbuildIDを把握する問題は依然として残っています。ありがとう!! – Curtis

答えて

0

私を正しい軌道に乗せてくれてありがとう、ハッカーマン!

誰もが興味を持っているのであれば、ここでの答えはだ...

  1. 利用guestAuthの代わりhttpAuth。これにより、認可が得られます。
  2. 最新のビルドビルド番号を取得します。 http://yourteamcityserver:8080/guestAuth/app/rest/buildTypes/id:yourprojectname/builds?count=1&status=SUCCESS

  3. 戻ってくるXMLからビルド番号を解析します。

  4. アーティファクトをダウンロードします(アーティファクトのファイル名を指定します)。 http://yourteamcityserver:8080/guestAuth/app/rest/builds/id:theIDthatYOUparsedINstep3/artifacts/yourartifactname.zip

希望はこれはあなたのいくつかの私はどのようにこのすべての作品を考え出す費やした時間を節約できます。

ありがとう、もう一度Hackerman !!!!

関連する問題