{"name":"jenkins-api-qdll","version":"0.1.1","description":"Jenkins API written in Node.js","license":"MIT","keywords":["github","jenkins"],"engine":{"node":">=0.4"},"main":"./lib/main.js","scripts":{"build":"babel ./src --out-dir ./lib","audit":"nsp check package","lint":"# eslint src test","check":"npm run audit && ncu && npm outdated --depth 0","test":"npm run build && mocha ./test/main.js","validate":"npm run lint","prepare":"npm run build && npm run validate","major":"pmm major","minor":"pmm minor","patch":"pmm patch"},"pre-commit":["validate"],"dependencies":{"request":"^2.81.0"},"devDependencies":{"babel-cli":"^6.24.1","babel-eslint":"^7.2.3","babel-plugin-transform-function-bind":"^6.22.0","babel-preset-es2015":"^6.24.1","bluebird":"^3.5.0","chai":"^4.1.1","chai-like":"^0.2.14","chai-things":"^0.2.0","eslint":"^4.4.0","mocha":"^3.5.0","ncu":"^0.2.1","nsp":"^2.7.0","pmm":"^1.3.1"},"readme":"nodejs-jenkins-api\n=================\n<p align=\"center\">\n  <a href=\"https://npmjs.org/package/jenkins-api\">\n    <img src=\"https://img.shields.io/npm/v/jenkins-api.svg\" alt=\"NPM Version\">\n  </a>\n  <a href=\"https://npmjs.org/package/jenkins-api\">\n    <img src=\"https://img.shields.io/npm/dm/jenkins-api.svg\" alt=\"NPM downloads\">\n  </a>\n  <a href=\"http://opensource.org/licenses/MIT\">\n    <img src=\"https://img.shields.io/npm/l/nodejs-jenkins-api.svg\" alt=\"License\">\n  </a>\n  <a href=\"https://github.com/jansepar/node-jenkins-api/issues\">\n    <img src=\"https://img.shields.io/github/issues/jansepar/node-jenkins-api.svg\" alt=\"Github Issues\">\n  </a>\n</p>\n\n## Install\n\n<pre>\nnpm install jenkins-api\n</pre>\n\n## Usage\n\n### Setup\n\n```javascript\nvar jenkinsapi = require('jenkins-api');\n\n// no auth\nvar jenkins = jenkinsapi.init(\"http://jenkins.yoursite.com\");\n\n// username/password\nvar jenkins = jenkinsapi.init(\"http://username:password@jenkins.yoursite.com\");\n\n// API Token\nvar jenkins = jenkinsapi.init('https://username:token@jenkins.company.com');\n\n```\n\nIf you need additional request parameters you can add them as explained in 'optional' section.\n\n\n### Builds\n\n#### build\n```javascript\njenkins.build('job-in-jenkins', (optional){token: 'jenkins-token', ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### build_with_params\n```javascript\njenkins.build_with_params('job-in-jenkins', (optional){depth: 1, <param>:<value>, token: 'jenkins-token',...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### stop build\n```javascript\njenkins.stop_build('job-in-jenkins', 'build-number', (optional){token: 'jenkins-token', ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### console output\n```javascript\njenkins.console_output('job-in-jenkins', 'buildname', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### build info\n```javascript\njenkins.build_info('job-in-jenkins', 'build-number', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### last build info\n```javascript\njenkins.last_build_info('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### last completed build info\n```javascript\njenkins.last_completed_build_info('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### all builds\n```javascript\njenkins.all_builds('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### test result/report\n```javascript\njenkins.test_result('job-in-jenkins', 'build-number', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### last build report - OBSOLET use `last_build_info`\n```javascript\n// jenkins.last_build_report('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n//   if (err){ return console.log(err); }\n//   console.log(data)\n// });\n```\n\n#### delete build data for job\n```javascript\njenkins.delete_build('job-in-jenkins', 'build-number', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n\n### Jobs\n\n#### all jobs\n```javascript\njenkins.all_jobs((optional){token: 'jenkins-token', ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### get config xml\n```javascript\njenkins.get_config_xml('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n### update existing job configuration\n```javascript\njenkins.update_config('job-to-update'\n                ,function(config) {\n                    // function which takes the config.xml, and returns\n                    // the new config xml for the new job\n                    return config.replace('development','feature-branch');\n                }\n                ,(optional){token: 'jenkins-token', ...}\n                ,function(err, data) {\n                      // if no error, job was copied\n                      if (err){ return console.log(err); }\n                      console.log(data)\n                });\n```\n\n#### update job\n```javascript\njenkins.update_job('job-to-update', xmlConfigString, (optional){token: 'jenkins-token', ...}, function(err, data) {\n  // if no error, job was copied\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### job info\n```javascript\njenkins.job_info('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### create job\n```javascript\njenkins.create_job('job-in-jenkins', xmlConfigString, (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### copy job\n```javascript\njenkins.copy_job('job-to-copy'\n                ,'new-job-title'\n                ,function(config) {\n                    // function which takes the config.xml, and returns\n                    // the new config xml for the new job\n                    return config.replace('development','feature-branch');\n                }\n                ,(optional){token: 'jenkins-token', ...}\n                ,function(err, data) {\n                      // if no error, job was copied\n                      if (err){ return console.log(err); }\n                      console.log(data)\n                });\n```\n\n#### delete job\n```javascript\njenkins.delete_job('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### enable job\n```javascript\njenkins.enable_job('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### disable job\n```javascript\njenkins.disable_job('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### last success\n```javascript\njenkins.last_success('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### last result\n```javascript\njenkins.last_result('job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n\n### Queue\n\n#### get all queued items\n```javascript\njenkins.queue((optional){token: 'jenkins-token', ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### get one queued item\n```javascript\njenkins.queue_item('queue-item-number', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### cancel queued item\n```javascript\njenkins.cancel_item('queue-item-number', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### get all jenkins computers (aka workers)\n```javascript\njenkins.computers((optional){token: 'jenkins-token', ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n\n### Views\n\n#### get all views\n```javascript\njenkins.all_views((optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n      if (err){ return console.log(err); }\n        console.log(data)\n});\n```\n\n#### create view\n```javascript\njenkins.create_view('new-view-name', (optional)viewMode = 'hudson.model.ListView', (optional){token: 'jenkins-token', ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### view info\n```javascript\njenkins.create_view('view-name', (optional){token: 'jenkins-token', ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### update view\n```javascript\nvar viewConfig = {\n            name: \"view-in-jenkins\",\n            \"description\": \"This is the view-in-jenkins View\",\n            \"statusFilter\": \"\",\n            \"job-in-jenkins\": true,\n            \"useincluderegex\": true,\n            \"includeRegex\": \"prefix.*\",\n            \"columns\": [{\"stapler-class\": \"hudson.views.StatusColumn\", \"$class\": \"hudson.views.StatusColumn\"}, {\"stapler-class\": \"hudson.views.WeatherColumn\", \"$class\": \"hudson.views.WeatherColumn\"}, {\"stapler-class\": \"hudson.views.JobColumn\", \"$class\": \"hudson.views.JobColumn\"}, {\"stapler-class\": \"hudson.views.LastSuccessColumn\", \"$class\": \"hudson.views.LastSuccessColumn\"}, {\"stapler-class\": \"hudson.views.LastFailureColumn\", \"$class\": \"hudson.views.LastFailureColumn\"}, {\"stapler-class\": \"hudson.views.LastDurationColumn\", \"$class\": \"hudson.views.LastDurationColumn\"}, {\"stapler-class\": \"hudson.views.BuildButtonColumn\", \"$class\": \"hudson.views.BuildButtonColumn\"}]\n        };\n\njenkins.update_view('view-in-jenkins', viewConfig, (optional){token: 'jenkins-token', ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### delete view\n```javascript\njenkins.delete_view('view-in-jenkins', (optional){token: 'jenkins-token', ...}, function(err, data) {\n  if (err){ return console.log(err); }\n  console.log(data)\n});\n```\n\n#### add job to view\n```javascript\njenkins.add_job_to_view('view-in-jenkins', 'job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n      if (err){ return console.log(err); }\n        console.log(data)\n});\n```\n\n#### remove job from view\n```javascript\njenkins.remove_job_from_view('view-in-jenkins', 'job-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n      if (err){ return console.log(err); }\n        console.log(data)\n});\n```\n\n#### get all jobs in view\n```javascript\njenkins.all_jobs_in_view('view-in-jenkins', (optional) {depth: 1, <param>:<value>, ...}, function(err, data) {\n      if (err){ return console.log(err); }\n        console.log(data)\n});\n```\n\n\n### Plugins\n\n#### get all installed plugins\n```javascript\njenkins.all_installed_plugins((optional){token: 'jenkins-token', ...}, function(err, data){\n    if (err){ return console.log(err); }\n    console.log(data)\n})\n```\n\n#### install a plugin\n```javascript\n// var plugin = 'copyartifact@1.3.8';\nvar plugin = 'copyartifact@current';\njenkins.install_plugin(plugin, (optional){token: 'jenkins-token', ...}, function(err, data){\n    if (err){ return console.log(err, data); }\n    console.log(data)\n});\n```\nNOTE: It will report successful even if the plugin is already installed.\nNOTE: Prevent Cross Site Request Forgery exploits need be disabled in Configure Global Security.\n\n\n\n## Default configuration\n\nYou can set the default configuration which will be use in all HTTP requests by calling init with the additional options parameter:\n\n```javascript\n// default request options\nvar jenkins = jenkinsapi.init(\"http://jenkins.yoursite.com\", {strictSSL: false});\n```\n\nFuthermore, you can set your remote job token for authentication:\n\n```javascript\n// default request options\nvar jenkins = jenkinsapi.init(\"http://jenkins.yoursite.com\", {strictSSL: false}, '<job_token_here>');\n```\n\nSince node-jenkins-api uses [request/request](https://github.com/request/request) as HTTP client, please refer to the documentation for available options.\n\n\n## Notes\n\nModeled after the [Python Jenkins API](https://github.com/txels/autojenkins)\n\n","readmeFilename":"README.md","gitHead":"68caa58bb6f728c1397ec4d0fe506fee7f980280","_id":"jenkins-api-qdll@0.1.1","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"shasum":"58971aa7f76f80a7528f3d609a09a1664f4ea447","size":13583,"key":"/jenkins-api-qdll/-/jenkins-api-qdll-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/jenkins-api-qdll/download/jenkins-api-qdll-0.1.1.tgz"},"_publish_on_cnpm":true,"_cnpm_publish_time":1692759843103,"publish_time":1692759843103,"dist-tags":{"latest":"0.1.1"}}