既に言及した 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 コメントがあります。