Как я могу вытащить артефакты из TeamCity? - PullRequest
5 голосов
/ 10 октября 2008

Я бы хотел вытащить артефакты из команды сити.

Я пытался использовать c # и пакет HtmlAgilityPack, чтобы перейти на сайт и найти последнюю версию и ее артефакты. В данный момент я застрял при входе в систему, думаю, мне просто нужно отправить сессионные куки-файлы.

Я иду в правильном направлении, кто-нибудь еще пробовал это?

Я понимаю, что выгрузить файлы с помощью сценариев сборки легко, но я бы хотел свести к минимуму изменения в файлах Ant, NAnt, поскольку я планирую масштабировать их до 100 приложений.

Редактировать: этот вопрос выглядит многообещающим Получение HTML со страницы за логином

Редактировать: теперь это работает, мне просто нужно написать код для его анализа

WebClient ww = new WebClient();
ww.Credentials = CredentialCache.DefaultCredentials;
ww.DownloadString("http://yourteamcity.com/login.html");
ww.Headers.Add("Cookie",ww.ResponseHeaders["Set-Cookie"]);

NameValueCollection post = new NameValueCollection();
post.Add("username", "name");
post.Add("remember","true");
post.Add("submitLogin", "Login");
post.Add("publicKey","long thing to intercept with fiddler");
post.Add("encryptedPassword","not giving you this");
post.Add("_", "");
byte[] values = ww.UploadValues("http://yourteamcity.com/loginSubmit.html", "POST",post);
string s = ww.DownloadString("http://yourteamcity.com/overview.html");

1 Ответ

6 голосов
/ 11 декабря 2008

Есть более простые решения, пожалуйста, прочитайте это: http://www.jetbrains.net/confluence/display/TCD4/Patterns+For+Accessing+Build+Artifacts

...