22

私は、Bamboo プラグインを作成中ですが、その大部分は完成しています。

プラグインは、サーバーへのポスト リクエストを介してリモート プロセスを開始し、プロセスが完了したかエラーが発生したというメッセージを受け取るまで同じサーバーをポーリングすることで機能します。この部分は機能します。

ユーザーがジョブをキャンセルした場合にこのサーバーに通知できるロジックを追加したいと思いますが、これについてどうすればよいかわかりません。

最終タスクとして実行される別のタスクを作成して遊んでみましたが、以前のタスクのいずれかが失敗したかキャンセルされたかを検出する方法がわかりません。

List<TaskResult> taskResults = taskContext.getBuildContext().getBuildResult().getTaskResults();以前のタスクの結果のリストを取得するために使用しようとしましたが、これは常に 0 のタスク結果を返すように見えます。

Post-Build Completed Action Module も使用してみましたが、これをジョブに追加する方法がわかりません。これに関するドキュメントには少し戸惑いました。

誰かが正しい方向に私を助けることができれば、私はそれを感謝します.

4

1 に答える 1

7

あなたが書いたものを読んで、イベントリスナーを使用することは間違いなくあなたの問題にアプローチする正しい方法だと思います. 以下に、あなたが構築したものを説明しているように見え、イベントリスナーを配置するのに最適な場所を示す、私自身の作成のイメージを提供しました。

基本的に、クライアントはネットワーク コントローラー メカニズムを介してサーバーにキャンセル通知を発行します。サーバーは、何らかのネットワークプロトコル(TCPを想定しています)を介してクライアントにすでに接続されているネットワークコントローラーを介して、そのキャンセル通知を受信します。クライアント ネットワーク コントローラーからのキャンセル通知がサーバーのネットワーク コントローラーに到達すると、サーバーのネットワーク コントローラーのイベント リスナーは、サーバー ビルド マネージャーにリモート ビルドを終了するように通知します。

プログラムの図 ここに画像の説明を入力

これが役立つことを願っています。

于 2014-09-26T16:36:04.957 に答える