8

ビルドのステータスを確認するために、CCNet サーバーにクエリを実行したいと考えています。(ReST?) API のようなものがあるという噂を聞いたことがありますが、そのドキュメントが見つからないようです。

それに関するドキュメントはありますか、それとも CCNet ソース コードをダウンロードして読み始める必要がありますか?

/XmlStatusReport.aspx編集:すべてのプロジェクトの XML 概要を提供するendpoint を見つけました。ただし、どのフォルダーでも同じファイル名を使用すると、まったく同じ応答が得られるため、それが唯一の API である可能性があります。

4

1 に答える 1

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 コメントがあります。

于 2011-02-03T20:27:06.560 に答える