我想查询我的 CCNet 服务器以了解构建的状态。我听说有某种(ReST?)API,但我似乎找不到任何文档。
是否有任何文档,或者我需要下载 CCNet 源代码并开始阅读?
编辑:我找到了端点/XmlStatusReport.aspx
,它提供了所有项目的 XML 概述。但是,任何文件夹中的相同文件名都会给出完全相同的响应,所以恐怕这可能是唯一的 API。
我想查询我的 CCNet 服务器以了解构建的状态。我听说有某种(ReST?)API,但我似乎找不到任何文档。
是否有任何文档,或者我需要下载 CCNet 源代码并开始阅读?
编辑:我找到了端点/XmlStatusReport.aspx
,它提供了所有项目的 XML 概述。但是,任何文件夹中的相同文件名都会给出完全相同的响应,所以恐怕这可能是唯一的 API。
作为您自己已经提到的 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 注释,其中包含方法和参数的简要描述。