Skip to main content

Python client for CircleCI API

Project description

Travis CI Build Status Latest Version License Downloads

Python client library for CircleCI API.

Features

  • Retrieve information about user
  • List followed repositories
  • Return status of recent builds for given project
  • Start build
  • Create parametrized builds
  • List build artifacts
  • Cancel build
  • Retry build
  • Clear build cache

Installation

pip install circleclient

Usage

Retrieve information about User

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

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

import os
from circleclient import circleclient

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

# Trigger build
client.build.trigger('<username>', '<project_name>', '<branch>')

Trigger new parametrized build

import os
from circleclient import circleclient

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

# Trigger parametrized build
client.build.trigger('<username>', '<project_name>', '<branch>', '<PARAM1>'='<VAL1>')

Cancel running build

import os
from circleclient import circleclient

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

# Cancel build
client.build.cancel('<username>', '<project_name>', '<build_number>')

Retry build

import os
from circleclient import circleclient

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

# Retry build
client.build.retry('<username>', '<project_name>', '<build_number>')

List build artifacts

import os
from circleclient import circleclient

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

# List build artifacts
client.build.artifacts('<username>', '<project_name>', '<build_number>')

Retrieve build status

import os
from circleclient import circleclient

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

# Retrieve build status
client.build.status('<username>', '<project_name>', '<build_number>')

Retrieve information about builds across all projects

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=<int>, offset=0)
client.build.recent_all_projects()

Retrieve information about recent build(s)

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('<username>', '<project>', limit='<int>', offset='<int>')

# Retrieve last 10 builds of branch master
client.build.recent('<username>', '<project>', limit=10, branch='master')

# Retrieve last build of branch develop
client.build.recent('<username>', '<project>', branch='develop')

Retrieve filtered information about recent build(s)

import os
from circleclient import circleclient

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

# Retrieve build status and filter results
client.build.recent('<username>',
                    '<project>',
                    branch='master',
                    status_filter='completed')

client.build.recent('<username>',
                    '<project>',
                    branch='develop',
                    status_filter='successful')

client.build.recent('<username>',
                    '<project>',
                    limit=10,
                    status_filter='failed')

client.build.recent('<username>',
                    '<project>',
                    status_filter='running')

Clear build cache

import os
from circleclient import circleclient

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

# Clear build cache
client.cache.clear(username='<username>', project='<project_name>')

Documentation

The full documentation is at http://circleclient.rtfd.org.

History

0.1.6 (2015-09-04)

  • Updated documentation

0.1.5 (2015-31-03)

  • Filter recent builds by build status: completed, successful, failed, running

0.1.4 (2014-21-09)

  • Retrieving information about single and multiple builds.
  • Retrieving a limited number of builds with optional offset.
  • Retrieving build information about specific branch.

0.1.3 (2014-25-07)

  • Add support for parametrized builds
  • Add support for listing build artifacts

0.1.2 (2014-07-07)

  • Add support for clearing cache

0.1.1 (2014-30-06)

  • Add support for retrying builds

0.1.0 (2014-29-06)

  • First release on PyPI.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
circleclient-0.1.6-py2.py3-none-any.whl (6.9 kB) Copy SHA256 hash SHA256 Wheel 2.7
circleclient-0.1.6.tar.gz (5.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page