我想查询我的CCNet服务器以找出构建的状态。我听说有一种(ReST?)API的谣言,但我似乎无法找到它的任何文档。
是否有任何文档,或者我是否需要下载CCNet源代码并开始阅读?
编辑:我找到了端点/XmlStatusReport.aspx
,它提供了所有项目的XML概述。但是,任何文件夹中的相同文件名都会给出完全相同的响应,所以我担心这可能是唯一的API。
答案 0 :(得分:4)
作为您自己已经提到过的XML的替代方案,您可以像CCTray应用程序那样使用远程处理。如果您在CruiseControl.NET \ server文件夹中引用ThoughtWorks.CruiseControl.Remote.dll,您可以实例化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注释,并简要描述了方法和参数。