Skip to main content

Rundeck API Python client

Project description

A client library written in Python to interact with the Rundeck API. It uses the awesome requests library.

Documentation is hosted on Read the Docs

DISCLAIMER: Still in active development, but most features have been tested and should work. Should work on at least Python 2.7 and Python 3.3.

Installation

Requires

$ pip install rundeckrun

Use

>>> from rundeck.client import Rundeck
>>> rd = Rundeck('rundeck.server.com', api_token='SECRET_API_TOKEN')
>>> rd.list_projects()
[{
    'description': None,
    'name': 'TestProject',
    'resources': {'providerURL': 'http://localhost:8000/resources.xml'},
}]
>>> rd.list_jobs('TestProject')
[{'description': 'Hello World!',
  'group': None,
  'id': 'a6e1e0f7-ad32-4b93-ba2c-9387be06a146',
  'name': 'HelloWorld',
  'project': 'TestProject'}]
>>> rd.run_job('a6e1e0f7-ad32-4b93-ba2c-9387be06a146', argString={'from':'RundeckRun'})
{'argstring': '-from RundeckRun',
 'date-started': datetime.datetime(2013, 7, 11, 18, 4, 24),
 'description': 'Plugin[localexec, nodeStep: true]',
 'href': 'http://rundeck.server.com/execution/follow/123',
 'id': '123',
 'job': None,
 'status': 'running',
 'user': 'rundeckrun'}

Running Tests

Note

You’ll probably want to create a virtualenv for this.

Running the tests requires a running Rundeck server (the Rundeck standalone jar works well) and an API token for said Rundeck server.

You’ll have to at least set the API token environment variable of RUNDECK_API_TOKEN but there are other environment variables to be aware of. The list is below and can be found at the head of the tests/__init__.py file. They should be fairly self-explanatory (OK, RUNDECK_PROTOCOL might not be self-explanatory… use either ‘http’ or ‘https’ there).

RUNDECK_API_TOKEN
RUNDECK_SERVER
RUNDECK_PORT
RUNDECK_PROTOCOL

Next clone the repo.

git clone https://github.com/marklap/rundeckrun

Note

activate your virtualenv

Then install the requirements and dev requirements.

pip install -r requirements.txt
pip install -r requirements_dev.txt

Lastly, execute nose tests.

nosetests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for rundeckrun, version 0.1.7
Filename, size File type Python version Upload date Hashes
Filename, size rundeckrun-0.1.7.tar.gz (22.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page