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>
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
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.
Source Distribution
dciclient-0.4.tar.gz
(42.1 kB
view details)
Built Distribution
dciclient-0.4-py2-none-any.whl
(85.0 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3a9c17d6e77a22aba986e95aac8bdb1347305feee9fdd8b23fcb15d63ba7710 |
|
MD5 | fd56f10eb51ec9b46109288c59033f6c |
|
BLAKE2b-256 | b587fa87c5f9ecfebb1cde5afa4762ef72a42510eb7543e4f84d5cf44c4ebe93 |
File details
Details for the file dciclient-0.4-py2-none-any.whl
.
File metadata
- Download URL: dciclient-0.4-py2-none-any.whl
- Upload date:
- Size: 85.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6216f612b37a0a74d479dda5ecc9a4c925e4366b7d6ef9af4b2f586dd8989e6 |
|
MD5 | 0d4895f043527e18291ffae2d679ec54 |
|
BLAKE2b-256 | 220c95fe5d37fc5ddf8d62a35d692a1c94590c64bfc59e1da5e0e27f11b0ede2 |