0

我想使用 Python API 获取 Jenkins 构建失败原因(不是状态)。我搜索了 Jenkins API 和其他可用模块,如 jenkinsapi 和 Python Jenkins,但没有找到可以返回失败原因的方法。我能找到的另一个选项是 Build Failure Analyzer 插件,因为我无法在 Jenkins 方面进行任何更改,它对我没有用处。请建议。

4

1 回答 1

0

因为我直接使用 requests.py 模块,所以只显示 curl:

  • lastBuild 端点以获取上次构建的状态
  • lastSuccessfulBuild 获取最后一次成功的构建:
curl.exe -X GET "<your jenkins server>/job/apotek1/job/hso-fullstack-test-test12/lastBuild/api/json" --user jenkinsuser:jenkinspassword | jq.exe

<这告诉我最后一次构建是 503>

然后您可以获取控制台输出,但不能以 json 或 xml 仅作为 html,因此您需要一种解析它的方法,在末尾添加api/jsonorapi/xml只会说未找到:

curl.exe -X GET "<jenkinsserver>/job/apotek1/job/hso-fullstack-test-test12/503/console" --user --user jenkinsuser:jenkinspassword

<!DOCTYPE html><html class=""><head resURL="/static/d949d4e8" \
data-rooturl="" data-resurl="/static/d949d4e8" data-extensions-available="true" \
data-unit-test="false" data-imagesurl="/static/d949d4e8/images" \
data-crumb-header="Jenkins-Crumb" \
data-crumb-value="7b0c0742c71ac08e6c3ea31d2a4b8438a17aa4cbfb86c1bd47ce7633cb4f0f1a">


<title>Fido2 Solutions ,%W% hso-fullstack-test-test12 #503 - test12 -\
ChromeHeadless - failed Console [Jenkins]</title><link rel="stylesheet" \
href="/static/d949d4e8/jsbundles/base-styles-v2.css" type="text/css">
:
于 2021-08-23T08:01:43.897 回答