Skip to main content

Python client for DCI Control Server

Project description

# python-dciclient

The `python-dciclient` project provides both the python bindings and a CLI to the [DCI Control Server](https://github.com/redhat-cip/dci-control-server)

## Installation

While the package makes it to the various distributions, the team behind the project offers repositories for the supported distro:

* Fedora (only the latest version is supported): https://packages.distributed-ci.io/dci-release.fc25.noarch.rpm
* CentOS/Red Hat: https://packages.distributed-ci.io/dci-release.el7.noarch.rpm

Then simply run `dnf install python-dciclient` (Fedora) or `yum install python-dciclient` (CentOS/Red Hat)

As mentioned above, the package provides two things:

* The CLI: a `dcictl` command is provided. For more details `dcictl --help`.
* The API: a python module one can use to interact with a control server (`dciclient.v1.api.*`)


## Credentials

Admitting one has valid credentials to use the DCI Control Server platform, there are two way to specify those informations while using dcictl:

* A dcirc file:

A file where the necessary credentials are stored. This file needs then to be sourced before using `dcictl`. Example:

```
export DCI_LOGIN=foo
export DCI_PASSWORD=bar
export DCI_CS_URL=https://api.distributed-ci.io
```

or using the API secret method:

```
export DCI_CLIENT_ID=<client_type>/<client_id>
export DCI_API_SECRET=<api_secret>
export DCI_CS_URL=https://api.distributed-ci.io
```

Where `client_type` can currently be `remoteci` or `feeder`

Which will allow the user to run the command: `dcictl team-list`

* At the command line level:

One can pass those informations on the CLI level. Example: `dcictl --dci-login jdoe --dci-password jdoe --dci-cs-url 'https://api.distributed-ci.io' team-list`
or `dcictl --dci-client-id <client_type>/<client_id> --dci-api-secret <api_secret> --dci-cs-url 'https://api.distributed-ci.io' team-list`

Where `client_type` can currently be `remoteci` or `feeder`

For RemoteCIs or Feeders please use the API Secret to authenticate.

## List of available commands

```
Commands:
component-attach-issue Attach an issue to a component.
component-create Create a component.
component-delete Delete a component.
component-file-delete Delete a component file.
component-file-download Retrieve a component file.
component-file-list List files attached to a component.
component-file-show Show a component file.
component-file-upload Attach a file to a component.
component-list List all components.
component-list-issue List all component attached issues.
component-show Show a component.
component-status Show an overview of the last jobs associated...
component-unattach-issue Unattach an issue from a component.
component-update Update a component.
file-delete Delete a file.
file-list List all files.
file-show Show a file.
job-attach-issue Attach an issue to a job.
job-delete Delete a job.
job-delete-meta Drop a meta from a job.
job-list List all jobs.
job-list-issue List all job attached issues.
job-list-meta List all job attached metas.
job-list-test List all tests attached to a job.
job-output Show the job output.
job-recheck Recheck a job.
job-results List all job results.
job-set-meta Attach an meta to a job.
job-show Show a job.
job-unattach-issue Unattach an issue from a job.
jobdefinition-annotate Annotate a jobdefinition.
jobdefinition-attach-test Attach a test to a jobdefinition.
jobdefinition-create Create a jobdefinition.
jobdefinition-delete Delete a jobdefinition.
jobdefinition-list List all jobdefinitions.
jobdefinition-list-test List tests attached to a jobdefinition.
jobdefinition-set-active Annotate a jobdefinition.
jobdefinition-show Show a jobdefinition.
jobdefinition-unattach-test Unattach a test to a jobdefinition.
jobdefinition-update Update a jobdefinition.
jobstate-list List all jobstates.
jobstate-show Show a jobstate.
purge Purge soft-deleted resources.
remoteci-attach-test Attach a test to a remoteci.
remoteci-create Create a remoteci.
remoteci-delete Delete a remoteci.
remoteci-get-data Retrieve data field from a remoteci.
remoteci-list List all remotecis.
remoteci-list-test List tests attached to a remoteci.
remoteci-reset-api-secret Reset a remoteci api secret.
remoteci-show Show a remoteci.
remoteci-unattach-test Unattach a test to a remoteci.
remoteci-update Update a remoteci.
team-create Create a team.
team-delete Delete a team.
team-list List all teams.
team-show Show a team.
team-update Update a team.
test-create Create a test.
test-delete Delete a test.
test-list List all tests.
test-show Show a test.
topic-attach-team Attach a team to a topic.
topic-create Create a topic.
topic-delete Delete a topic.
topic-list List all topics.
topic-list-team List teams attached to a topic.
topic-show Show a topic.
topic-unattach-team Unattach a team from a topic.
user-create Create a user.
user-delete Delete a user.
user-list List all users.
user-show Show a user.
user-update Update a user.
```

## License

Apache 2.0


## Author Information

Distributed-CI Team <distributed-ci@redhat.com>


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

dciclient-0.4.tar.gz (42.1 kB view details)

Uploaded Source

Built Distribution

dciclient-0.4-py2-none-any.whl (85.0 kB view details)

Uploaded Python 2

File details

Details for the file dciclient-0.4.tar.gz.

File metadata

  • Download URL: dciclient-0.4.tar.gz
  • Upload date:
  • Size: 42.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for dciclient-0.4.tar.gz
Algorithm Hash digest
SHA256 c3a9c17d6e77a22aba986e95aac8bdb1347305feee9fdd8b23fcb15d63ba7710
MD5 fd56f10eb51ec9b46109288c59033f6c
BLAKE2b-256 b587fa87c5f9ecfebb1cde5afa4762ef72a42510eb7543e4f84d5cf44c4ebe93

See more details on using hashes here.

File details

Details for the file dciclient-0.4-py2-none-any.whl.

File metadata

File hashes

Hashes for dciclient-0.4-py2-none-any.whl
Algorithm Hash digest
SHA256 a6216f612b37a0a74d479dda5ecc9a4c925e4366b7d6ef9af4b2f586dd8989e6
MD5 0d4895f043527e18291ffae2d679ec54
BLAKE2b-256 220c95fe5d37fc5ddf8d62a35d692a1c94590c64bfc59e1da5e0e27f11b0ede2

See more details on using hashes here.

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