Come posso estrarre artefatti da TeamCity?
-
07-07-2019 - |
Domanda
Vorrei estrarre artefatti da teamcity.
Ho provato a usare c # e HtmlAgilityPack per andare al sito Web e trovare l'ultima versione e i suoi artefatti. Al momento sono bloccato al login, penso che devo solo inviare i cookie di sessione.
Sto andando nella direzione giusta, qualcun altro ha provato questo?
Mi rendo conto che inviare i file con gli script di compilazione è semplice ma mi piacerebbe ridurre al minimo le modifiche ai file Ant, NAnt poiché sto cercando di ridimensionare questo a 100 app.
Modifica: questa domanda sembra promettente Ottenere HTML da una pagina dietro un accesso
Modifica: funziona ora, ho solo bisogno di scrivere del codice per analizzarlo
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");
Soluzione
Esistono soluzioni più semplici, per favore leggi questo: http : //www.jetbrains.net/confluence/display/TCD4/Patterns+For+Accessing+Build+Artifacts