Reputation: 161
Anyone know how I can get the separate logs (for each pipeline stage) as the Blue Ocean shows. I need to attach them to Jira but I can not find them. Any idea?
Upvotes: 12
Views: 12884
Reputation: 74
you can find the rest api document through this url:
https://github.com/jenkinsci/blueocean-plugin/tree/master/blueocean-rest
still need to notice this in their document.
The Blue Ocean REST API is a "private API" designed for the Blue Ocean user interface.
It may change without notice at any time.
Upvotes: 0
Reputation: 1260
I'm doing the same thing with the global pipeline library I'm building. This is good for cases where you just want to email the logs of a particular failed stage. Here's how hope it helps. On the sample pipeline below a job named test
is executed once (build #1
)
pipeline { agent any stages{ stage("Compile") { steps { script { echo "Compiling..." } } } stage("Test") { steps { script { echo "Testing..." } } } stage("Build") { steps { script { echo "Building..." } } } } }
Access the API to see execution details. Notice that each object of this JSON includes the attributes id
and result
.
http://localhost:8080/blue/rest/organizations/jenkins/pipelines/test/runs/1/nodes/
[ { *snip* "actions": [], "displayDescription": null, "displayName": "Compile", "durationInMillis": 341, "id": "6", "input": null, "result": "SUCCESS", "startTime": "2018-11-24T18:14:16.196+0800", "state": "FINISHED", "type": "STAGE", "causeOfBlockage": null, "edges": [ { "_class": "io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeImpl$EdgeImpl", "id": "15", "type": "STAGE" } ], "firstParent": null, "restartable": true }, { *snip* "actions": [], "displayDescription": null, "displayName": "Test", "durationInMillis": 246, "id": "15", "input": null, "result": "SUCCESS", "startTime": "2018-11-24T18:14:16.693+0800", "state": "FINISHED", "type": "STAGE", "causeOfBlockage": null, "edges": [ { "_class": "io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeImpl$EdgeImpl", "id": "24", "type": "STAGE" } ], "firstParent": "6", "restartable": true }, { *snip* "actions": [], "displayDescription": null, "displayName": "Build", "durationInMillis": 270, "id": "24", "input": null, "result": "SUCCESS", "startTime": "2018-11-24T18:14:17.188+0800", "state": "FINISHED", "type": "STAGE", "causeOfBlockage": null, "edges": [], "firstParent": "15", "restartable": true } ]
Use result
to check the status of a stage (SUCCESS
, FAILED
, ABORTED
, etc...)
Use id
to get into a particular stage, for this example the logs of Test stage which has an id
of 15
.
http://localhost:8080/blue/rest/organizations/jenkins/pipelines/test/runs/1/nodes/15/log/
Testing...
Upvotes: 5