qba73 / circleclient

Python client library for CircleCI
MIT License
13 stars 11 forks source link
circleci client-library python

============ circleclient

.. image:: https://travis-ci.org/qba73/circleclient.svg?branch=master :target: https://travis-ci.org/qba73/circleclient :alt: Travis CI Build Status

.. image:: https://img.shields.io/pypi/v/circleclient.svg :target: https://pypi.python.org/pypi/circleclient :alt: Latest Version

.. image:: https://img.shields.io/pypi/l/circleclient.svg :target: https://pypi.python.org/pypi/circleclient/ :alt: License

.. image:: https://readthedocs.org/projects/circleclient/badge/?version=latest :target: http://circleclient.readthedocs.io/en/latest/ :alt: Documentation Status

Python client library for CircleCI API.

Features

Installation

.. code:: python

pip install circleclient

Usage

Retrieve information about User

.. code:: python

import os
from circleclient import circleclient

token = os.environ['API_TOKEN']
client = circleclient.CircleClient(token)

# Retrieve User data
client.user.info()

List projects followed by the user

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(token)

Retrieve information about projects

client.projects.list_projects()

Trigger new build

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(token)

Trigger build

client.build.trigger('', '', '')

Trigger new parametrized build

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(token)

Trigger parametrized build

client.build.trigger('', '', '', ''='')

Cancel running build

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(token)

Cancel build

client.build.cancel('', '', '')

Retry build

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(token)

Retry build

client.build.retry('', '', '')

List build artifacts

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(token)

List build artifacts

client.build.artifacts('', '', '')

Retrieve build status

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(token)

Retrieve build status

client.build.status('', '', '')

Retrieve information about builds across all projects

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(token)

Retrieve build status

Default limit=30, offset=0

client.build.recent_all_projects(limit=, offset=0) client.build.recent_all_projects()

Retrieve information about recent build(s)

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(token)

Retrieve build status

Default limit=30, offset=0, branch=None

client.build.recent('', '', limit='', offset='')

Retrieve last 10 builds of branch master

client.build.recent('', '', limit=10, branch='master')

Retrieve last build of branch develop

client.build.recent('', '', branch='develop')

Retrieve filtered information about recent build(s)

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(token)

Retrieve build status and filter results

client.build.recent('', '', branch='master', status_filter='completed')

client.build.recent('', '', branch='develop', status_filter='successful')

client.build.recent('', '', limit=10, status_filter='failed')

client.build.recent('', '', status_filter='running')

Clear build cache

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(api_token=token)

Clear build cache

client.cache.clear(username='', project='')

Use a custom CircleCI endpoint

.. code:: python

import os from circleclient import circleclient

token = os.environ['API_TOKEN'] client = circleclient.CircleClient(api_token=token, endpoint='https://cci.example.com/api/v1')

Use client as normal

client.user.info()