2011-01-13 11 views
8

Chcę przesłać zapytanie do mojego serwera CCNet, aby sprawdzić status kompilacji. Słyszałem plotkę, że istnieje pewien rodzaj API (ReST?), Ale nie mogę znaleźć dla niego żadnej dokumentacji.CCNet API, dokumenty?

Czy jest dostępna dokumentacja lub czy muszę pobrać kod źródłowy CCNet i zacząć czytać?

EDYCJA: Znalazłem punkt końcowy /XmlStatusReport.aspx, który daje przegląd XML wszystkich projektów. Ta sama nazwa pliku w dowolnym folderze daje dokładnie tę samą odpowiedź, więc obawiam się, że może to być jedyny interfejs API.

+0

Sprawdź to pytanie pod kątem możliwych odpowiedzi: http://stackoverflow.com/questions/3467364/is-there-an-api-for-cruise-control-net –

Odpowiedz

4

Jako alternatywę dla XML, o którym już wspomniałeś, możesz użyć zdalnego dostępu, tak jak robi to aplikacja CCTray. Jeśli odwołujesz się do ThoughtWorks.CruiseControl.Remote.dll z folderu CruiseControl.NET \ server, możesz utworzyć instancję CruiseServerRemotingClient i użyć jej do pobrania informacji z serwera.

następujące druki snippet spośród listy projektów na serwerze i ich budowania statusów:

CruiseServerRemotingClient client = new CruiseServerRemotingClient("tcp://ccnetserver:21234/CruiseManager.rem"); 
ProjectStatus[] statusList = client.GetProjectStatus(); 
foreach (ProjectStatus status in statusList) 
{ 
    Console.WriteLine("{0}: {1}", status.Name, status.BuildStatus); 
} 

Można również pobrać dziennik najnowszej kompilacji w formacie XML, co następuje:

string buildName = client.GetLatestBuildName("Jasenje"); 
Console.WriteLine(client.GetLog("Jasenje", buildName)); 

Nie udało mi się znaleźć żadnej prawdziwej dokumentacji dla API, ale przynajmniej są komentarze XML z krótkimi opisami metod i parametrów.