Query for last successful build number in Jenkins with change

hello_harry picture hello_harry · Oct 23, 2015 · Viewed 9.1k times · Source

Example:

32 - fail
31 - stable no change (triggered by parent)
30 - stable with changes
29 - fail 
...

I want a query to return 30


So far what I got:

To query the last stable build number:

http://jenkins/job/project_name/lastStableBuild/buildNumber

This returns 31. Not exactly what I need.

To check if this build has changes, the only way I know is :

http://jenkins/job/project_name/31/api/json

Then I need to go inside the huge JSON and check if any item in changeSet > items.


Is there a easier way to query for the latest stable build with changes (30) ?

Answer

Gerold Broser picture Gerold Broser · Oct 24, 2015

Jenkins' Remote access API with:

http://jenkins/job/<your job>/<build no>/api/xml

supports XPath, too:

XPath selection

The XML API supports a selection by XPath by using the query parameter 'xpath'. This is convenient for extracting information in environments where XML manipulation is tedious (such as shell script.) See issue #626 for an example of how to use this.
See .../api/ on your Jenkins server for more up-to-date details.