Comment puis-je retirer des artefacts de TeamCity?
-
07-07-2019 - |
Question
Je voudrais extraire des artefacts de teamcity.
J'ai essayé d'utiliser c # et HtmlAgilityPack pour accéder au site Web et trouver la dernière version et ses artefacts. Je suis actuellement bloqué au moment de la connexion. Je pense que je dois juste envoyer les cookies de session.
Est-ce que je vais dans la bonne direction, quelqu'un d'autre a-t-il déjà essayé?
Je me rends compte qu'il est facile d'extraire des fichiers à l'aide des scripts de génération, mais j'aimerais minimiser les modifications apportées aux fichiers Ant, NAnt, car nous envisageons de l'adapter à 100 applications.
Modifier: cette question semble prometteuse Obtenir du code HTML d'une page derrière une connexion
Modifier: cela fonctionne maintenant, je dois juste écrire du code pour l'analyser
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");
La solution
Il existe des solutions plus simples, veuillez lire ceci: http : //www.jetbrains.net/confluence/display/TCD4/Patterns+For+Accessing+Build+Artifacts