カスタムモニタリングツールの場合、Jenkinsビルドのコンソールログをチャンクで取得するにはAPI(REST)が必要です。チャンクのビルドログを取得するためのJenkins API
私は/ consoleTextと/ logText/progressive {Text | HTML} APIについて知っていますが、この問題は、時にはGoogleのビルドログが数百GBまで膨大になることがあります。ログ全体を1つにまとめて転送することを避ける既存のAPIを使用する方法はありませんでした。これは通常、ジェンキンスマスターをメモリから追い出す。
ファイルからチャンクを効率的にフェッチするためのJavaコードが既にあります。また、正しくロードされる基本的なJenkinsプラグインがあります。それは私が試した
http://.../jenkins/myPlugin/logChunk?start=1000&size=1000&job=<jobName>&build=<buildNr>
が容易であれば、私は、また
http://.../jenkins/job/<jobname>/<buildnr>/myPlugin/logChunk?start=1000&size=1000
など例えば、REST経由で私のプラグインを呼び出すことができるように
正しい拡張ポイントは、私が欠けている何ですかプラグインを登録する(このコードは動作しません!)
@Extension
public class JobLogReaderAPI extends TransientActionFactory<T> implements Action {
public void doLogChunk(StaplerRequest req, StaplerResponse rsp) throws IOException {
LOGGER.log(Level.INFO, "## doLogFragment req: {}", req);
LOGGER.log(Level.INFO, "## doLogFragment rsp: {}", rsp);
}
私のプラグインアクションを登録するための正しいエンセンテーションを見つけることができませんでした。
これを登録する方法を確認するためのヒントや既存のプラグインへのポインタはありますか?
ロジックを実行します。これがために非常に簡単な例かもしれ私は何ですか 試して、私はそれを撃つ – jammann