Skip to main content

Yet another Python client for ThoughtWorks GoCD REST API.

Project description

https://travis-ci.org/grundic/yagocd.svg?branch=master https://coveralls.io/repos/github/grundic/yagocd/badge.svg?branch=master https://badge.fury.io/py/yagocd.svg https://readthedocs.org/projects/yagocd/badge/?version=latest

Introduction

This library is a high level python API wrapper upon ThoughtWorks GoCD REST API. From the official documentation:

Go Continuous Delivery is continuous integration/deployment server, which helps you automate and streamline the build-test-release cycle for worry-free.

Using it, you can access to internals of the Pipelines, check their statuses, download Artifacts and more. It is designed with maximum comfort and productivity from the user perspective, so it should be very easy to use it in your own project. More information is available at official documentation

Installation

$ pip install yagocd

Quick example

from yagocd import Yagocd

go = Yagocd(
    server='https://example.com',
    auth=('user', 'password'),
    options={
        'verify': False  # skip verification for SSL certificates.
    }
)

for pipeline in go.pipelines:
    for instance in pipeline:
        for stage in instance:
            for job in stage:
                # print artifact urls for each job
                for artifact in job.artifacts:
                    for file_obj in artifact.files():
                        print(file_obj.data.url)

                # print property of each job
                for key, value in job.properties.items():
                    print "{} => {}".format(key, value)

Different implementations of GoCD API

Here is list of similar projects, that implements GoCD API:

Licence

MIT

Release History

0.4.0 (2016-10-01)

Improvements

  • Added support for pipeline config API.

  • Added support for version API.

  • Added support for plugin info API.

  • Added support for environments API.

  • Added methods for getting different internal information (undocumented): support and process_list.

  • Added magic methods for iterating and key based access for some classes.

  • All classes and their methods are now decorated with @since decorator, which adds possibility to check at run-time whether given functionality already supported in the GoCD server and let’s dynamically select correct headers.

Testing

  • Now tests are executed for GoCD version, running in Docker container, which add possibility to test for any available version of the server. Also cassettes are also saved individually for each GoCD version.

  • Added testing for PEP8 and other checks via flake8.

0.3.2 (2016-07-26)

Improvements

  • Added support of value_stream_map functionality.

Bugfixes

  • Fix return value of Artifact.fetch method from text to binary.

0.2.0 (2016-05-24)

Improvements

  • Added support of getting server version through parsing /about page.

  • Added Confirm: true header to some API calls.

Project details


Download files

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

Source Distribution

yagocd-0.4.2.tar.gz (8.0 MB view hashes)

Uploaded Source

Built Distribution

yagocd-0.4.2-py2.py3-none-any.whl (53.4 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page