jenkins_url + /api/json?tree=jobs[name,color]
jenkins_url + /job/${job_name}/api/json?tree=builds[number,status,timestamp,id,result]
| # check if job exists | |
| curl -XGET 'http://jenkins/checkJobName?value=yourJobFolderName' --user user.name:YourAPIToken | |
| # with folder plugin | |
| curl -s -XPOST 'http://jenkins/job/FolderName/createItem?name=yourJobName' --data-binary @config.xml -H "Content-Type:text/xml" --user user.name:YourAPIToken | |
| # without folder plugin | |
| curl -s -XPOST 'http://jenkins/createItem?name=yourJobName' --data-binary @config.xml -H "Content-Type:text/xml" --user user.name:YourAPIToken | |
| # create folder |
| function map (arr, func) { | |
| return Promise.resolve().then(function () { | |
| return arr.map(function (el) { return func(el) }) | |
| }).all() | |
| } | |
| function mapSeries (arr, func) { | |
| let currentPromise = Promise.resolve() | |
| let promises = arr.map(function (el) { | |
| return currentPromise = currentPromise.then(function () { |
| # Applies Q.nbind to all redis operations and returns a wrapped client | |
| _ = require("underscore")._ | |
| Q = require "q" | |
| nbindOps = (client) -> | |
| functions = _.functions client | |
| # All the ops are available as upper/lowercase functions, I exploit this | |
| # to filter out the Redis operations from the other functions of the client | |
| # |