Coder Social home page Coder Social logo

nestor's Introduction

Avatar

Build Status Dependencies Status Coverage Status Published Version
npm Badge

Nestor

Nestor is a Jenkins CLI and node.js client.

This is handy for Jenkins users who prefer to touch type on the command line over GUI and mouse clicks on the browser. It also serves as an alternative to Jenkins Java CLI where Nestor has shorter commands and executes faster.

console command screenshot

Installation

npm install -g nestor

Usage

Trigger a build:

nestor build <job>

Trigger a parameterised build:

nestor build <job> ["param1=value1&param2=value2"]

Trigger a build followed by console output:

nestor build --console <job>

Trigger a build, wait for 5 seconds, then display console output:

nestor build --pending 5000 --console <job>

Trigger a parameterised build followed by console output:

nestor build <job> ["param1=value1&param2=value2"] --console

Display latest build console output:

nestor console <job>

Display console output of a particular build number:

nestor console <job> [build_number]

Stop currently running build:

nestor stop <job>

View status of all jobs:

nestor dashboard

View job status reports:

nestor job <job>

Enable a job:

nestor enable <job>

Disable a job:

nestor disable <job>

Create a new job with a specified config.xml:

nestor create <job> <path/to/config.xml>

Update an existing job with a specified config.xml:

nestor update <job> <path/to/config.xml>

Copy an existing job1 to a new job2:

nestor copy <job1> <job2>

Delete an existing job:

nestor delete <job>

Fetch the config.xml of an existing job: (experimental)

nestor config <job>

Create a new view with a specified config.xml: (experimental)

nestor create-view <view> <path/to/config.xml>

Update an existing view with a specified config.xml: (experimental)

nestor update-view <view> <path/to/config.xml>

Fetch the config.xml of an existing view: (experimental)

nestor fetch-view-config <view>

View queued jobs:

nestor queue

View executors' status (running builds):

nestor executor

Discover Jenkins instance running on a specified host:

nestor discover <host>

View Jenkins version number:

nestor ver

View builds feed of all jobs:

nestor feed

View builds feed of a job:

nestor --job <job> feed

Monitor build status and notify Ninja Blocks RGB LED device:

export NINJABLOCKS_TOKEN=<token_from_https://a.ninja.is/hacking>
nestor ninja

Note: <job> in the examples is a part of your Jenkins job URL after the first job/.

For example, if you use nested folders on Jenkins and your URL is /job/myproject/job/releases/job/master, then you should pass myproject/job/releases/job/master as <job>.

Programmatically:

var nestor = new (require('nestor'))(
  'http://user:pass@host:port/path'
);

// trigger a standard build
nestor.buildJob('job', '', function (err, result) {
});

// trigger a parameterised build
nestor.buildJob('job', 'param1=value1&param2=value2', function (err, result) {
});

Check out lib/jenkins for other available methods.

NOTE: Starting from version 2.0.0, Nestor started using Swaggy Jenkins as an API client. You can still use Nestor programmatically, but it's much better and cleaner if you use Swaggy Jenkins instead.

Configuration

Jenkins URL

Set Jenkins URL in JENKINS_URL environment variable (defaults to http://localhost:8080):

(*nix)

export JENKINS_URL=http://user:pass@host:port/path

(Windows)

set JENKINS_URL=http://user:pass@host:port/path

As an alternative to password, you can use Jenkins API token instead. Jenkins API token can be found on Jenkins user configuration page.

If http_proxy or https_proxy environment variable is set, then Nestor will automatically use it.

If you want authentication details to be prompted interactively:

JENKINS_URL=http://host:port/path nestor --interactive build job

Jenkins URL can also be specified as an arg:

nestor --url http://user:pass@host:port/path dashboard

SSL client certificate authentication

Set JENKINS_CERT and JENKINS_KEY

(*nix)

export JENKINS_CERT=certificate.pem
export JENKINS_KEY=key.pem

(Windows)

set JENKINS_CERT=certificate.pem
set JENKINS_KEY=key.pem

When you have both key and certificate in one file, currently you have to set both ENV variables to the same file

(*nix)

export JENKINS_CERT=combined.pem
export JENKINS_KEY=combined.pem

(Windows)

set JENKINS_CERT=combined.pem
set JENKINS_KEY=combined.pem

It is possible to specify a custom CA. Just set the JENKINS_CA env variable

(*nix)

export JENKINS_CA=custom.ca.pem

(Windows)

set JENKINS_CA=custom.ca.pem

Translation

To add a new language translation:

  1. Create a locale JSON file in conf/locales/ directory, with the locale's ISO 639-1 code as file name.
  2. Copy paste the content of the existing non-English locale file (anything other than en.json) and modify the translation values accordingly.
  3. Test by executing a command with LANG environment variable, e.g. LANG=<code> nestor dashboard

Contribution

When opening an issue to report a bug, please provide the following information:

  • node.js version: node --version
  • npm version: npm --version
  • Nestor version: nestor --version
  • Jenkins version: nestor ver

Thanks in advance for reporting an issue, opening a feature request, or even better, a pull request!

Colophon

Developer's Guide

Build reports:

Articles:

Videos:

Presentations:

Related Projects:

nestor's People

Contributors

5long avatar benediktarnold avatar cliffano avatar jakub-g avatar joelittlejohn avatar kelveden avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nestor's Issues

Nestor IRC bot

Add Nestor IRC bot, tap into any running IRC server.

nestor irc

nestor stop <BUILD> throws internal 500

Error 500
Status Code: 500
Exception: java.lang.IllegalAccessException: POST is required for public synchronized
org.kohsuke.stapler.HttpResponse hudson.model.AbstractBuild.doStop() throws java.io.IOException,javax.servlet.ServletException
Stacktrace: javax.servlet.ServletException: java.lang.IllegalAccessException:
POST is required for public synchronized org.kohsuke.stapler.HttpResponse
hudson.model.AbstractBuild.doStop() throws java.io.IOException,javax.servlet.ServletException

If you're posting to the REST endpoint, then this is probably a bug on jenkinsCI.

Add buildlight path support

When there are multiple devices plugged to the same machine, rather than defaulting to use the first available usbled instance, allow custom path on nestor buildlight command.
e.g. nestor buildlight --path

TypeError: Object #<Jenkins> has no method 'last'

Hello there,

I am stuck with a weird problem. While using nestor, I am unable to execute the method 'last' and I keep getting the error mentioned here..

TypeError: Object # has no method 'last'

What may I be doing wrong here, or is it a bug of some sort with the nestor implementation I am attaching the code snippet here..

var nestor = new (require('nestor'))('credentials@jenkins_ip:8080');
nestor.last(jenkinsJobName,function(err, data){
})

Redirect handlers for `build`

Haven't dug into this too deep, but when our Jenkins deployment responded with a 301 nestor threw a jobRequireParamsError back at me.

I suspect that both 301 and 302 responses need a passThroughResponse similar to

nestor/lib/api/job.js

Lines 104 to 105 in b9da38e

this.opts.handlers[201] = util.passThroughResponse;
this.opts.handlers[200] = util.passThroughResponse; // backward compatibility for old Jenkins versions
but haven't been able to verify this yet.

Executing the job manually with curl verifies that a 301 is returned but follows up with a 200 and not a 405.

Build does not work on Jenkins 1.5xx when job build trigger requires auth

Reported by @cgiffard.

'nestor build' does not trigger the actual build on Jenkins 1.5xx .

I have verified this problem with latest Nestor master (0.1.2-pre) and Jenkins master (1.511 SNAPSHOT)

  • this affects secured jobs, it still works fine when job build trigger does not require auth
  • it's likely caused by this jenkinsci change jenkinsci/jenkins@0271fdb#L1L75
  • due to the above change, triggering a build with GET method now gives response 302

Improve discover command feedback

When discover command is called without host arg and there's no Jenkins running on localhost, nestor discover will appear to hang and not do anything.

It's better to timeout after N seconds, or enforce host arg.

Nestor does not work properly with fish shell

If launched inside Fish shell:
connect ECONNREFUSED 127.0.0.1:8080.
Fish env variable is configured properly (set -U JENKINS_URL ...).
Seems Nestor uses some non-standard way to receive env variables from shell.
If launched inside Bash shell with properly exported JENKINS_URL variable - it works well.
Export launched via bass (Fish shell plugin allowing to execute Bash code) allows to use nestor until terminal window is open.

Make buildlight failure blinking red optional

The current default blinking red on build failure causes annoyance for most people.
Need to change the default to just display red without blinking, then add --blink flag to enable blinking on failure for buildlight command.

'Waiting for job to start...' when trying to tail console at build start

Trying out nestor, and while issuing nestor build 'nestor-test' --console it does not successfully show the console, but gives the following output:

Job nestor-test was triggered successfully
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Build didn't start after 30 seconds, it's still waiting in the queue

Trying to view the console at a later stage works as expected:

$ nestor console 'nestor-test'                                                                                                                                                                              
Started by user terbolous
Building in workspace /var/lib/jenkins/workspace/nestor-test
[nestor-test] $ /bin/sh -xe /tmp/hudson5853494320620600586.sh
+ echo Hello World
Hello World
Finished: SUCCESS

Any advice?

Add build all or build all failing jobs commands

When builds are failing due to an environmental issue, it's often needed to retrigger all failing builds.

Or when the build agent is migrated to a new environment, it would be handy to trigger all builds in one go.

Add proxy server support

To connect to a Jenkins instance from behind a network, it often requires a proxy server.
Use http_proxy env variable as proxy.

Unit tests shouldn't require live Jenkins

Some unit tests still fail when there's no Jenkins up and running. They should be mocked up.

Timeout: cli - exec | should pass URL as-is when there is no interactive arg specified
  Timed out after 250ms
  -> test function

Timeout: cli - exec | should use environment variable as Jenkins URL when there is no interactive arg specified and URL parameter is not specified
  Timed out after 250ms
  -> test function

Timeout: cli - exec | should pass username and password to Jenkins URL when interactive arg is set
  Timed out after 250ms
  -> test function

Getting prompted for Password without Username

When I enter the following command

JENKINS_URL=https://host nestor --interactive build build-name

I get prompted for my password (but not my username):

prompt: Password:

Furthermore, when I enter my password, I am given the following error:

  Authentication failed - incorrect username and/or password in Jenkins URL

Can't display console of rather large build

I am getting an exception when trying to access the console logs from a rather large build (313,202 KB).

nestor console mr-build 579 ESOCKETTIMEDOUT

For small builds it works fine.

Greetings,
Peter

No rule called notEmpty

It seems validator has removed all the negative validators - notNull and notEmpty
so a command like nestor console job_name fails with the following error:


~/.nvm/v0.10.30/lib/node_modules/nestor/node_modules/bagofcli/lib/bagofcli.js:112
      if (validator[rule](arg) === false) {
                         ^
TypeError: Property 'notEmpty' of object  is not a function
    at ~/.nvm/v0.10.30/lib/node_modules/nestor/node_modules/bagofcli/lib/bagofcli.js:112:26
    at Array.forEach (native)
    at _postCommand (~/.nvm/v0.10.30/lib/node_modules/nestor/node_modules/bagofcli/lib/bagofcli.js:151:34)
    at Object.command (~/.nvm/v0.10.30/lib/node_modules/nestor/node_modules/bagofcli/lib/bagofcli.js:68:3)
    at Object.exec (~/.nvm/v0.10.30/lib/node_modules/nestor/lib/cli.js:311:7)
    at Object.<anonymous> (~/.nvm/v0.10.30/lib/node_modules/nestor/bin/nestor:4:5)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

Authentication is not working.

Authentication seems to not work for me:

[01:15 PM]-[dbus@mbp]-[~]
$ JENKINS_URL=http://192.168.178.230 nestor --interactive build AdminTool
prompt: Username:  xxx
prompt: Password:
Jenkins requires authentication - set username and password in Jenkins URL

The same occurs when specifying user/password directly in the URL

[01:18 PM]-[dbus@mbp]-[~]
$ JENKINS_URL=http://xxx:[email protected] nestor --interactive build AdminTool
prompt: Username:  xxx
prompt: Password:
Jenkins requires authentication - set username and password in Jenkins URL

The credentials provided are definitely correct. Using a Token does not work either. I'm using Jenkins 2.7.2.

Job within a folder results in Not Found error

When triggering a build for a job that sits under a folder, e.g.

nestor build abc/job/123 "param1=a&param2=b"

The above results in Not Found error.

The root cause for this scenario is due to "abc/job/123" is being passed to swaggy-jenkins' buildUrl which encodes the value to "abc%2Fjob%2F123"

    function buildUrl(path, pathParams, apiBasePath) {
      var _this = this;

      if (!path.match(/^\//)) {
        path = '/' + path;
      }

      var url = this.basePath + path; // use API (operation, path) base path if defined

      if (apiBasePath !== null && apiBasePath !== undefined) {
        url = apiBasePath + path;
      }

      url = url.replace(/\{([\w-\.]+)\}/g, function (fullMatch, key) {
        var value;

        if (pathParams.hasOwnProperty(key)) {
          value = _this.paramToString(pathParams[key]);
        } else {
          value = fullMatch;
        }

        return encodeURIComponent(value);
      });
      return url;

Tested with nestor 2.2.0

nestor executor TypeError: cannot read property

Hi!
I've just discovered nestor and its pretty awesome!
Although, as nothing is is perfect I might have a problem: when I try to run executor, I have the following problems:

$$ nestor executor
/usr/lib/node_modules/nestor/lib/jenkins.js:104
          executor.currentExecutable.url.replace(/.*\/job\//, '').replace(/\/.*/, '') :
                                        ^

TypeError: Cannot read property 'replace' of undefined
    at /usr/lib/node_modules/nestor/lib/jenkins.js:104:41
    at Array.forEach (native)
    at /usr/lib/node_modules/nestor/lib/jenkins.js:97:24
    at Array.forEach (native)
    at Function.executorSummary (/usr/lib/node_modules/nestor/lib/jenkins.js:90:13)
    at resultCb (/usr/lib/node_modules/nestor/lib/cli/jenkins.js:75:28)
    at /usr/lib/node_modules/nestor/node_modules/bagofcli/lib/bagofcli.js:265:7
    at Object.passThroughSuccessJson (/usr/lib/node_modules/nestor/lib/api/util.js:30:3)
    at /usr/lib/node_modules/nestor/node_modules/bagofrequest/lib/bagofrequest.js:86:41
    at done (/usr/lib/node_modules/nestor/node_modules/bagofrequest/lib/bagofrequest.js:149:5)

I can run all other commands I tried work wonders!

Also, I have a variable with JENKINS_URL defined as:

JENKINS_URL="https://me.myself:[email protected]"

and my

$$ nestor --version
1.0.2

Any idea of what's going wrong?

Thanks!

--console flag show console output from previous build

When I trigger a build like this:

$ nestor build --console my-job

I expect that the console output of the new build will be streamed to my terminal, however nestor prints the console output from the previous build and exits.

Jenkins version is 2.10

Support executing actions on all jobs

For example, disabling a job only disables a single job.
Nestor needs to support the ability to disable all jobs in one command line, e.g. by add --all flag.

This should also be supported on all job-specific actions, e.g. stop build, start build, download config xml .

Nestor can discover, but not connect to Jenkins

Note: Replaced real hostname with hostname.example.org

$ node --version
v0.6.10

$ nestor discover hostname.example.org
Jenkins 1.425 found, running at http://hostname.example.org:8080/jenkins/

$ export JENKINS_URL=http://hostname.example.org:8080/jenkins/
$ nestor dashboard
Unexpected status code 404

$ nestor version
Unexpected status code 404

$ nestor discover hostname.example.org
Jenkins 1.425 found, running at http://hostname.example.org:8080/jenkins/

Build didn't start after 30 seconds

Nestor works great for me. Thanks for that. Except from the --console param. When i use it i always get the same feedback. It tells me 'Waiting for the job to start' and after 30 seconds 'Build didn't start after 30 seconds, it's still waiting in the queue'. Althought the job was started and finished succesfully. This is the same for al my build tasks. I tried different ones.

Console output:

nestor build 'projectname' --console
Job projectname was triggered successfully
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Waiting for job to start...
Build didn't start after 30 seconds, it's still waiting in the queue

My actual versions are:

node --version -> v6.11.1
npm --version -> 3.10.10
nestor --version -> 1.0.2
nestor ver -> Jenkins ver. 2.103

Order executors by activities

Currently executor command lists the build nodes as returned from Jenkins API.
When there are lots of build nodes and only the one has an active executor, this is often not visible on a terminal and forces the users to scroll up/down.

Nestor should only lists active executors, and summarises idle executors, e.g.

  • build-node-foo (2 idle executors)
    • active-executor | 88%
  • build-node-bar (3 idle executors)

Support referencing console by build number

Add an option to the console command which takes a build number value:

nestor console jobName --build 84

The command outputs the console for the specified build, rather than the latest one as the console command would do by default. I expect most people would use it to print out the console for completed builds.

Support multiple jenkins instances

In the environment I work in we have multiple jenkins instances. It would be nice to be able to call something like nestor build myjob and it would read a config file and would automatically know which jenkins instance to interrogate.

I was thinking of a config file that mapped jenkins urls to an array of regexes - something like this:

[
  {
    "url": "http://my.jenkins.box1",
    "jobs": [ "someapp-.+", "anotherapp-.+" ]
  },
  {
    "url": "http://my.jenkins.box2",
    "jobs": [ "yetanotherapp-.+" ]
  }
]

(The config file would be optional - if it's missing then obviously the above functionality won't work but the rest of nestor would.) What do you think? It's something I'll try and have a go at myself if it's of interest.

Cannot read property 'headers' of undefined

I have used nestor for years with a lot of pleasure. Since a couple of weeks it stopped working. I keep getting this error: 'Cannot read property 'headers' of undefined'.

I'm using the following versions:

node --version -> v10.13.0
npm --version -> 6.4.1
nestor --version -> 2.0.0
nestor ver -> Gives me the following error -> unable to verify the first certificate

Job jobname was triggered successfully
/usr/local/lib/node_modules/nestor/lib/cli/job.js:191
var buildUrl = response.headers.location;
^

TypeError: Cannot read property 'headers' of undefined
at cb (/usr/local/lib/node_modules/nestor/lib/cli/job.js:191:35)
at /usr/local/lib/node_modules/nestor/node_modules/swaggy-jenkins/src/ApiClient.js:458:9
at Request.callback (/usr/local/lib/node_modules/nestor/node_modules/superagent/lib/node/index.js:688:3)
at ClientRequest. (/usr/local/lib/node_modules/nestor/node_modules/superagent/lib/node/index.js:615:10)
at Object.onceWrapper (events.js:273:13)
at ClientRequest.emit (events.js:182:13)
at TLSSocket.socketErrorListener (_http_client.js:391:9)
at TLSSocket.emit (events.js:182:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)

SSL Auth with certs not working

Hi,

do you plan to release the current git version in near time? I desperately wait for the SSL feature which is described in the readme but isn't on npm yet.

Many Regards,
Florian

Support for folders?

We use folders to organize projects on our CI server. Does nester support folders? I tried to use the full project name given by Jenkins (e.g. "foo/bar-build"), but nestor complained that the job doesn't exist.

Also nestor dashboard shows the folder, but not the jobs contained in that folder.

Monitor command should use dashboard data

Monitor currently uses feed data to determine the latest status of each job.
It needs to be replaced by dashboard data.

It's more likely that textual feed data will change (happened before) compared to structured dashboard data.

Interactive mode for authentication when triggering builds

Right now if credentials are enabled, the JENKINS_URL env var needs to be set.

Would it be possible to go into an interactive mode to have the user input their credentials instead? If an interactive flag were set?

Is it possible to set the URL itself as a flag?

[Support] How to start a build and get a callback when it's finished?

Hello, my use case is basically like this:

startBuildAndMonitorItsProgress().then(
  function buildFinishedSuccessfully() {

  }, function buildFailed() {

  });

It seems that I can accomplish it by doing nestor.buildJob, followed by setInterval(nestor.readLatestJob) and reading response.result and response.timestamp and then:

if response.timestamp < myTimestampWhenQueueingTheJob I am getting info about previously completed job so I discard it (and the thing I asked for is still in the queue)
else check if response.result !== null then my build is finished, so I call the callback / resolve the promise

but it all seems very hacky

Do you think there's a better way?

Thanks!

Edit: found job.checkStarted which will simplify things a bit

Add console output stream feature

A feature to stream console output to the terminal, e.g. nestor console foo, would reduce the need to switch between terminal and browser.

[07:48] <+cliffano> kohsuke: is console output stream of a running build accessible via jenkins remote access api?
[07:49] == jyr_ [~[email protected]] has joined #jenkins
[07:49] @kohsuke kind of, but not very easy
[07:49] @kohsuke the client has to do the bookkeeping of the byte count
[07:49] @kohsuke CLI does this already for you with "build -v"
[07:50] @kohsuke What are you trying to use this for?
[07:50] @kohsuke maybe we can do this for REST API, too
[08:14] <+cliffano> kohsuke: i'm trying to display the console output on the command line... for convenience, so one does not have to leave the terminal .. i.e. trigger build from command line, display console output stream of the latest build.. switch to the next window and continue coding while the output keeps streaming..
[08:14] <+cliffano> kohsuke: i'd like to add such feature to http://github.com/cliffano/nestor .. so i can do 'nestor build foo', then 'nestor console foo'
[08:15] @kohsuke right, ok
[08:15] @kohsuke so you might be actually willing to do the byte counting
[08:16] <+cliffano> kohsuke: yup.. i guess as long as there's a stream i can tap to, then nestor would be able to muck around with it..
[08:16] @kohsuke you basically GET to http://ci.jenkins-ci.org/job/libs_svnkit/11/logText/progressiveText
[08:17] @kohsuke with start=N indicating the byte count to retrieve from
[08:18] @kohsuke e.g., ?start=100
[08:18] @kohsuke the respond will contain X-Text-Size header that you should add to N before sending the next request
[08:18] @kohsuke if the data is still being sent you get X-More-Data header set to true
[08:19] @kohsuke that's your cue to hit the same URL again after some delay with new start=N
[08:23] <+cliffano> kohsuke: is there an alias that points to the latest build, i.e. instead of build number 11 in the sample url
[08:23] <+cliffano> i tried http://ci.jenkins-ci.org/job/libs_svnkit/latest/logText/progressiveText , no luck
[08:23] @kohsuke http://ci.jenkins-ci.org/job/libs_svnkit/lastBuild/
[08:23] @kohsuke see "permalinks" in http://ci.jenkins-ci.org/job/libs_svnkit/
[08:24] <+cliffano> kohsuke: awesome... thanks a lot for the pointers, that should be good to get me started. much appreciated :)
[08:41] @kohsuke cliffano: documented what we just talked about
[08:41] @kohsuke thanks for driving this
[08:42] @kohsuke jenkinsci/jenkins@bd0063e

nestor fails with "Parse Error"

Nestor fails with "Parse Error" no matter which command I issue:

swoodruff.local [~]$ npm -v
1.1.0-beta-4

swoodruff.local [~]$ node -v
v0.6.6

swoodruff.local [~]$ export JENKINS_URL=https://jenkins001.somedomain.com:8443/
(DM me on twitter if you need the real JENKINS_URL -- @sjwoodr)

swoodruff.local []$ nestor dashboard
Parse Error
swoodruff.local [
]$ nestor queue
Parse Error
swoodruff.local [~]$ nestor version
Parse Error

OS X 10.6.8 , installed nestor 0.0.4 via "npm install -g nestor"

Better monitor status handling

Monitor should check the latest status of all jobs in the feed instead of just the latest build.

This means status should FAIL when any of the job fails.

add refresh option

Would be nice to add a --refresh option that refreshes the screen with the latest output at an interval.

E.g. nestor --refresh executor
will refresh the output every second with the latest executor data.

"Forbidden" error after switching node version to 11.9.0

Hey!

I've been using nestor with node v8.3.1 and everything was fine, but after I've switched to version 11.9.0 I keep getting "forbidden" message, despite the fact that credentials are still in .zshrc file as it was before.

How can I fix that problem?

Thanks!

Add `nestor create` command to create a new job

This is handy for programmatically creating Jenkins job with a pre-configured config.xml .

The scenario I'm thinking about is to generate multiple config.xml files, and then use nestor create to create a job for each config.xml file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.