Skip to main content

No project description provided

Project description

jenkins-fire-cli

A Jenkins command line tool built with python-fire that wraps the jenkins-cli and job-dsl-core.

Prerequisite

You need to ensure Java and Python>=3.8 are in the PATH to use this tool.

Install

It can be installed by the following command.

pip install jenkins-fire-cli

Get Started

Provision

You need to set Jenkins site url and user credential for the first time

jenkins-fire-cli config set jenkins.url http://your-jenkins-site
jenkins-fire-cli config set user.name john.doe

# user.token is optional, but you will be asked to type it when it is missing
# either api token or user's password will be OK, but it's recommneded to use token for the sake of security
jenkins-fire-cli config set user.token passw0rd 

Before you start to run Jenkins commands, don't forget to run the init command for the first time, which will download jenkins-cli.jar and job-dsl-core-standalone.jar automatically.

jenkins-fire-cli init

Run jenkins-cli commnads

As jenkins-fire-cli is a wrapper of jenkins-cli and job-dsl-core to make them easier to use, you can find the document of jenkins-cli in your Jenkins site or run the following command to open in browser.

jenkins-fire-cli doc --open

You can use the run sub-command to execute jenkins-cli command, for example

jenkins-fire-cli run list-jobs  
# It is equivalent to "java -jar jenkins-cli.jar -s http://localhost:9090/ -webSocket list-jobs"

# For command with multiple arguments you need to quote them with ""
jenkins-fire-cli run "get-job my-job"  

Run job-dsl commands

You can also run the job-dsl command. For example you have a job-dsl script with the following content.

// file: /tmp/sample.dsl
pipelineJob('job-dsl-plugin') {
  definition {
    cpsScm {
      scm {
        git {
          remote {
            url('https://github.com/jenkinsci/job-dsl-plugin.git')
          }
          branch('*/master')
        }
      }
      lightweight()
    }
  }
}

Then you can run the following command to generate the job XML configuration.

jenkins-fire-cli dsl /tmp/sample-dsl.groovy

Then you will find a file named job-dsl-plugin.xml is generated. Now you can run anthor command to create this job in jenkins:

jenkins-file-cli run 'create-job job-dsl-plugin' < job-dsl-plugin.xml

Then you will find a new job named job-dsl-plugin has been created in jenkins.

Environment Variables

If you want to use this tool in CI system, you may use the following environment variable instead of global setting.

  • JENKINS_USER_ID: equivalent to user.name
  • JENKINS_API_TOKEN: equvalent to user.token
  • JENKINS_URL: equvalent to jenkins.url
  • JENKINS_JOB_DSL_PATH: path to the job-dsl jar package, you may skip init when this is set
  • JNEKINS_CLI_PATH: path to the jenkins-cli jar package, you may skip init when this is set

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

jenkins-fire-cli-0.1.1.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

jenkins_fire_cli-0.1.1-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file jenkins-fire-cli-0.1.1.tar.gz.

File metadata

  • Download URL: jenkins-fire-cli-0.1.1.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for jenkins-fire-cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0baa80d4afcd5a753619a07c9f5a6639f56ca347056fda3daedbb6982f506dcb
MD5 7b83112ea139c71fdd676908b2e10f15
BLAKE2b-256 f9fdae9d3ed1797b0316dc5c158f020f6dd18e0136fa634f29ffe247e78ccc86

See more details on using hashes here.

File details

Details for the file jenkins_fire_cli-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for jenkins_fire_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 961eb07b814dd749d735cab134aa1f5cdb76d7adcae20887c164250b5abff454
MD5 74301f0a865146cc864f1e8b96db705c
BLAKE2b-256 1767f225db8972e6f443e56c6d4193447232ae524adc1c38d0fcdbac7d904ef7

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