Atlassian Product REST Command Line Interface.
Java Groovy JavaScript Ruby CSS Shell
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
groovy-rest-client
rest-cli-groovy
rest-cli-jruby
rest-cli-parent
rest-cli-runner
ruby-rest-client
.gitignore
.gitmodules
.travis.yml
LICENSE.txt
NOTICE.txt
README.md

README.md

##Introduction Atlassian plugin which provides a possibility to use your favorite programming language to script and interact with Atlassian product server realtime. ###Supported products

  • Jira 4.3
  • Confluence 3.5
  • Bamboo 3.2.2

###Working modes

  • Web-executor interface - allows to execute script input from admin interface, no continuous working session support and no working context preservation between invocations.
  • Web-cli interface - allows to create and manage working scripting sessions from admin interface, connect to them and execute script code in the scripting session context - state is preserved between invocations.
  • The are sample console clients available (Ruby, Groovy) which work similar to interactive language shells (irb, groovysh).
  • Sample JIRA configuration scripts.

###Scripting languages supported

  • JavaScript (Rhino) shipped with Oracle JDK - default
  • Groovy 1.8.0 - separate
  • JRuby 1.5.6 - separate.

Languages are implemented as standalone plug-able components, installed separately, except for Rhino available by default.

The target is to come as close to Firebug / IRB / Groovysh as possible :)

You can see some screenshots in action here.

##Alternatives

  • Python CLI for JIRA - basically cli interface to JIRA SOAP interface;
  • Jira Scripting Suite - provides a convenient way to put custom conditions, validators and post-functions into workflow in a form of Jython scripts..
  • Script Runner - provide ability to script (JSR-223 capable) workflow validators, conditions, etc..

What's wrong with? Actually - nothing. They are great pieces of software and they excellently do they should do - extend JIRA functionality and provide possibility to easily extend workflows (Jira Scripting Suite, Script Runner) w/o need to restart Jira server, or provide access to built-in remote access (Python CLI for JIRA). The thing I've missed here - is to play with Jira API in the realtime, see what's inside of teddy bear looks like and the ability to use the same approach to automate certain operations (e.g. configuration deployment).

The atlassian-rest-cli tool at the moment makes a step little bit further - it allows to use the same REST cli infrastructure with the Atlassian product line (see supported products above).

##How could I use it? When working with it I have several use-cases in mind:

  • Use it as console-tool to script and automate certain configuration changes (local development; staging etc development deployment)
  • Use it as a tool to play with Atlassian product system API at realtime (local development needs)

I would really appreciate if you will think out other use-cases and will report them back to me. So do it :)

##How to start?

  • Build project

     git clone git@github.com:leonardinius/atlassian-rest-cli.git
     cd atlassian-rest-cli/
     git submodule init
     git submodule update
     cd rest-cli-parent/
     atlas-mvn clean install
    
  • To start play with the REST Cli - you need to install rest-cli-runner plugin, which is a main entry point and Rhino language provider.

  • To try out JRuby or Groovy language support - install rest-cli-jruby or rest-cli-groovy accordingly.

OR you could get all this artifacts here

NB: You can see some screenshots in action here.

License

Apache License, Version 2.0

Bitdeli Badge