如何使用Remote API获取CCNet构建的最终构建状态

时间:2015-12-29 11:32:15

标签: c# cruisecontrol.net

我一直在尝试编写一个简单的Java库来模拟来自GitHub的Remote程序集。为此,我查看了.Net版本中的XML,并在Java中进行了模拟。我得到了#34;强迫建立"工作,并希望在遇到问题时轮询服务器以获取构建结果。起初我以为这是我的Java代码(通常的嫌疑人),但后来我发现.Net库似乎存在同样的问题。

我的C#测试代码如下所示:

$newMessage = preg_replace('#\{(.+)\}#',$array["$1"],$message);

当我调试它时,我可以看到对public void GetStatus() { CruiseServerClient client = new CruiseServerClientFactory().GenerateClient("http://myserver/ccnet", "local") as CruiseServerClient; String projectName = "MyProject"; String buildName = client.GetMostRecentBuildNames(projectName, 1)[0]; ProjectStatusSnapshot status = client.GetFinalBuildStatus(projectName, buildName); Console.WriteLine(status.Status); } 的调用返回类似" log20151229103101Lbuild.47.xml"的内容。这看起来像名字 用于Web前端的URL。但是,调用GetMostRecentBuildNames会返回GetFinalBuildStatus,并查看响应XML,我可以看到响应 包含一条警告,说明构建名称不存在。

我是否遗漏了一些至关重要的内容,或者这部分内容是否已被破坏?

交叉发布到http://www.cruisecontrolnet.org/boards/2/topics/632

1 个答案:

答案 0 :(得分:0)

我最终最终使用了基于推送的方法,在那里我添加了一组条件发布者。根据结果​​,发布者然后使用custom Nant task使用结果调用另一台计算机的REST接口。

最终的解决方案比投票结果更清晰,所以我很满意。