2011-01-13 3 views
8

Я хочу запросить мой сервер CCNet, чтобы узнать статус сборок. Я слышал слухи, что есть API (ReST?), Но я не могу найти никакой документации для него.CCNet API, документы?

Есть ли для этого документация, или мне нужно загрузить исходный код CCNet и начать чтение?

EDIT: Я нашел конечную точку /XmlStatusReport.aspx, которая дает общий обзор всех проектов. Одно и то же имя файла в любой папке дает точно такой же ответ, поэтому я боюсь, что это может быть единственный API.

+0

Посмотрите на этот вопрос для получения ответов: http://stackoverflow.com/questions/3467364/is-there-an-api-for-cruise-control-net –

ответ

4

В качестве альтернативы XML, о котором вы уже упоминали, вы можете использовать удаленное соединение, как это делает приложение CCTray. Если вы ссылаетесь на ThoughtWorks.CruiseControl.Remote.dll из папки CruiseControl.NET \ server, вы можете создать экземпляр CruiseServerRemotingClient и использовать его для извлечения информации с сервера.

Следующий фрагмент кода выводит список проектов на сервере и их сборки статусов:

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); 
} 

Вы также могли бы извлечь журнал для последней сборки в формате XML следующим образом:

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

Мне не удалось найти никакой реальной документации для API, но, по крайней мере, есть комментарии XML с краткими описаниями методов и параметров.

Смежные вопросы