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: Test suite is not comprehensive, but most features have been tested and should work. Should work on at least Python 2.7 and Python 3.3.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size rundeckrun-0.1.11.tar.gz (22.9 kB) | File type Source | Python version None | Upload date | Hashes View |