- [#318][] allow more than 100 levels of nesting
- Replace jenkins-ci.org with jenkins.io
- Support p12 certificates with passphrase (use OpenSSL::SSL::VERIFY_NONE for artifact download)
- Suppport multiple artifacts per job
- Ruby version updates
- Add MIT license
- [#315][] Switch to Addressable
- #222 Relax on nokogiri version requirement. Credit @grosser
- Relax on JSON version requirement.
- Remove ruby 1.9 support.
- Remove unnecessary rack gem as a runtime dependency.
- #213 Add support for getting a user's API token.
- #207 Add support for SOCKS proxies. Credit: @dylanmckay
- #191 Add dynamic depth support for node attributes. Credit: @stjohnjohnson
- #161 Fix job#build method when true/false values are passed as timeout parameter. Credit: @jlucasps
- #172 Promotion plugin config support. Credit: @AndrewHanes
- #168 Added ability to pass "tree" parameter to the Job#get_builds call. Credit: @bkon
- #169 Add optional parameters to cli job build. Credit: @cyrez
- #167 Add ability to override the default logger. Credit: @gpetras
- #174 Use the specified client ssl when downloading artifacts. Credit: @paulgeringer
- #165 Fix for is_offline? bug reporting all nodes as being offline. Credit: @bsnape
- #176 Add ability to delete a promotion configuration. Credit: @l8nite
- #59 Add capability to take the node offline and online. Credit: @stjohnjohnson
- #177 Add ability to create promotion processes. Credit: @AndrewHanes
- #179 Clean up Node calls to make only one call for the computer item. Credit: @stjohnjohnson
- #159 Add ability to configure git tool for a job. Credit: @hubert
- #163 Improve performance by using the
tree
parameter. Credit: @stjohnjohnson
- #156 Added workspace cleanup plugin. Credit @hubert
- #157 Added ability to configure SCM trigger via job creation. Credit: @hubert
- #158 Add ability to configure post build artifact archiver step. Credit: @hubert
- #145 Fix
BuildQueue#get_details
to compare against task_name. Credit: @notruthless - #149 Lower log level of GET/POST messages emitted by Client to DEBUG. Credit: @scotje
- #151 Add ability to configure credentialId for git. Credit: @hubert
- #153 Feature/extract plugins. Credit: @hubert
- #147 Added ability to get current build artifact. Credit: @joelneubert
- #148 Make
Client::Job#build
only request current build number ifbuild_start_timeout
option is passed. Credit: @scotje
- Add
charset=UTF-8
along with content_type when posting data to Jenkins.
- Ruby 1.8 is not supported anymore.
- Added support for
PluginManager
which supports listing installed plugins, available plugins, installing and uninstalling plugins, enabling and disabling plugins, and more. - Enhance URL escape.
- #106 Added support for obtaining build numbers after the build is posted for Jenkins version pre 1.519, added callbacks while waiting and more. Credit: @dougforpres
- #112 Added supported for obtaining information about promoted builds. Credit: @dkerwin
- #118 Added support for specifying username/password in the URL. Credit: @spikegrobstein
- #119 Added ability to execute groovy script on the Jenkins server. Credit: @lheinlen-os
- #122 Updated the
create_dumb_slave
method to accept the new credentials id that is introduced in the newer version of jenkins. Credit: @Loa - #126 Enabled the use of cookies for authentication. Credit: @chilicheech
- #127 Do not set content type in api_post_request. Credit: @chilicheech
- #128 Updated
exec_script
to useapi_post_reqeust
to support features provided byapi_post_request
such as using crumbs. Credit: @chilicheech - #132 Allow copying and enabling jobs with spaces in them. Credit: @mattrose
- #134 Added support for specifying HTTP open timeout. Credit: @n-rodriguez
- #136 Prevent warnings due to Hash#[] call with nil items on Ruby 2.x. Credit: @sunaot
- #140 Add require yaml in cli helper. Credit: @riywo
- #141 Rename
create_dump_slave
->create_dumb_slave
. Thanks for finding the typo/incorrect name @cynipe
- Fixed a bug in Job#create_or_update method. Credit: @bobbrez
- Fixed a bug where a space was missing in the exec_cli method argument list. Credit: @missedone
- Refactored create/update jobs by introducing create_or_update methods. Credit: @riywo
- Enhancement to crumb processing - auto detect the change of crumb setting and do proper exception handling. Credit: dougforpress
- Added a
User
class which will handle jenkins users related functions. Credit: dougforpres - Added a method
Job#poll
which will poll for SCM changes programatically. - Added a shortcut method
System#restart!
for force restart.
- Jenkins XSS disable option is now supported. No inputs are required - the jenkins_api_client will automatically detech whether to use the crumbs or not when making the POST requests.
- Support for logging is added. Logs can be redirected to a log file and the
log level can be customized. This implementation uses the
Logger
class so it follows the nice format in logging messages. - The job
build
method will now optionally return the build number. This option should be used with care as the build method will wait till the jenkins job is placed on an executor from the build queue. By default the build number will NOT be returned. nil will be returned if the build number is not available. Also a Timeout error will be raised if the job waits in the queue for longer than the 'timeout' parameter. This timeout parameter can be set during the client initialization. - Improved documentation
- Support for enabling/disabling jobs. Credit: @dieterdemeyer
- Added functionality for copying jobs. Credit: @dieterdemeyer
- Added functionality for wiping out the workspace of a job. Credit: @dieterdemeyer
- Added functionality for listing jenkins users. Credit: @dieterdemeyer
- Fixed a bug where the exceptions where not thrown when using the
get_console_output
method. - Fixed a bug where the jenkins_path attribute was ignored when the server_url input argument is given. Credit: @woodbusy
- support public/private key pair authentication for Jenkins CLI. Credit: @missedone
- Fixed a bug where the SSL support was not working properly with Ruby 1.8.7/JRuby 1.6. (Pull #85) Credit: @brettporter
- Authentication is now optional as not all Jenkins instances have authentication enabled by default. Credit: @dougforpres
- Ability to retrieve build details so that more than just (
lamp color
) is available. Credit: @dougforpres - Ability to retrieve build test-results for those builds that have them. Credit: @dougforpres
- Option to follow any 301/302 responses. This allows POST to build to follow the redirect and end up with a 200 response. Credit: @dougforpres
- Minor change to the POST requests handling where jenkins instances with a proxy returns 411 if no form data is specified. Fixed by sending an empty hash. Credit: @dougforpres
- As of Jenkins release 1.519, the job build returns a 201 code instead of 302. This was resulting in an exception and the exception handling is modified to handle this condition.
- The jobs that are not built yet have a new color (
notbuilt
) in the recent version of jenkins (> 1.517) which resulted ininvalid
status. This is fixed.
- A new input argument
server_url
is supported which accepts the jenkins URL instead of IP address and Port. Credit: @dieterdemeyer - When renaming the job, preserve the job history. Credit: @rubytester
- Various exception handling improvements. Credit: @drnic
- new function to execute jenkins CLI
cli_exec
. Credit: @missedone - Add ability to use http proxy. Credit: @woodbusy
- prompt the user for credentials when using irb login script. @woodbusy
- bugfix for job.console_output. Credit: @drnic
- add ssl support. Credit: @madisp
- Removed the dependency of ActiveSupport and Builder as they were not being used.
- Added capability to send email notification to existing jobs
- Removed warnings from client.rb
- Refactored and improved exception handling
- A bug is fixed in client which allows only the valid params as options. Credit: @Niarfe
- Added a timeout parameter for waiting for jenkins to become ready. Credit: @Niarfe
- Added function to reload jenkins. Credit: @missedone
- Fixed a bug where jenkins_path was missing in get_config and post_config. Credit: @cylol
- Added capability to obtain jenkins version and other useful information
- Added new tests for various cases, and other code improvements
- Fixed a bug in creating view. Issue #42
- Added capability to send timer trigger while creating a job
- Added rename feature for jobs
- Added support for sending skype notification in job creation and on existing jobs
- Added support for sending Jenkins root URL configuration. Credit: @kevinhcross
- Added
delete_all!
methods for Job, View, and Node. get_eta
in BuildQueue will return "N/A" if the ETA is not given by Jenkins- Creating view accepts params Hash and more configuration through the API
- Spaces are allowed in Job, Node, and View names. Credit: @kevinhcross
- Support has been added to build a job with parameters. Credit: @tjhanley
- Fixed #27 with a bug in create_view including extra character in the end of the name
- Fixed a minor bug in
get_console_output
of Job.
- Fixed a bug (Issue #23) to remove the usage of "" in Job.
- Fixed a bug where the ignorecase was never used in view list
- Raise an error if the view doesnt exists while listing jobs
- Added capability to change the mode of a node
- Added support for giving node to restrict the job during creation
- Added support for notification_email option when setting up a job
- Added support for CVS provider in SCM
- Added
create_dump_slave
anddelete
methods in Node API - Added BuildQueue class which is accessible by
[@client][].queue
method - Improvements in all over the code for performance and error handling
- Fixed a bug where running job previously aborted was not recognized by the color
- Fixed a bug where the last few lines of console output was missed in the CLI
when using the
jenkinscli job console
command.
- Added functionality to get progressive console output from Jenkins.
- Added CLI command
console
for printing progressive console output on terminal. - Fixed a bug with
get_current_build_number
not returning the recent running build number.
- Added functionality to create jobs with params.
- Added View class and added methods accessing List Views of Jenkins server.
- Added functionality to abort a running job.
- Deprecated
list_running
of Job class.list_by_status('running')
is suggested.
- Added some methods for handling jobs.
- The status
not run
is not returned asnot_run
from job status.
- Added some new methods for Job class
- Removed unnecessary debug statements
- Added System class to support quietdown and restart functionality.
- Added Node class to query the node interface of Jenkins server.
- Added Command line interface for System and Node class.
- Introduced terminal tables for displaying attributes in command line.
- Added command line interface for basic operations
- Updated gem dependencies to work with Ruby 1.8.7
- Improved performance
- Added job create feature, delete feature, chaining feature, and build feature
- Added exception handling mechanism
- Added documentation
- Added some more small features to Job class
- Initial Release