| Crates.io | jenkinsctl |
| lib.rs | jenkinsctl |
| version | 0.4.0 |
| created_at | 2023-06-15 07:34:55.894929+00 |
| updated_at | 2023-12-22 03:07:50.464464+00 |
| description | Jenkins management tool |
| homepage | |
| repository | https://github.com/enkron/jenkinsctl |
| max_upload_size | |
| id | 890905 |
| size | 75,275 |
Jenkins manager
The project aims to wrap Jenkins json api and some post requests which can be performed on Jenkins parts (such as 'delete node').
It is a very early stage of development (it'd be better to say hobby project to learn Rust). Current functionality includes:
There are two types of the jobs in Jenkins: parameterized and un-parameterized.
To build a job without parameters use the following command:
jenkinsctl job build <JOB>
To build a job with parameters use:
jenkinsctl job build <JOB> [PARAMS]
jenkinsctl accepts parameters in the following format:
param=value,...,param=value
You can also perform a parameterized build using defaults:
jenkinsctl job build <JOB> -
To stream a job's execution process to stdout, add the -f switch:
jenkinsctl job build <JOB> [PARAMS] -f
Jenkins rest api provides three levels of interruption:
stop aborts a pipeline;term forcibly terminates a build;kill hard kill a pipeline (the most destructive way to stop a pipeline);jenkinsctl wraps it with the *nix signals equivalent:
jenkinsctl job kill -s <HUP|TERM|KILL|1|15|9> <JOB> <BUILD>
It is possible to rebuild particular job in a Jenkins web ui, however
there is no rest api endpoint for the rebuild operation.
Therefore the rebuild option starts new build with the same parameters
as in a build specified by the
Technically there is no differences, you can only notice that a job is not being rebuilt but started with the same parameters in a console log output.
jenkinsctl job rebuild <JOB> <BUILD>