From e6ea3848d2c1556bcab938b56388603beeedc3d4 Mon Sep 17 00:00:00 2001 From: Konstantin Burnaev Date: Wed, 11 Feb 2015 15:18:34 +1100 Subject: [PATCH 1/3] Added optional "tree" parameters to the get_builds call. --- lib/jenkins_api_client/job.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/jenkins_api_client/job.rb b/lib/jenkins_api_client/job.rb index 0ea95f28..5142fecd 100644 --- a/lib/jenkins_api_client/job.rb +++ b/lib/jenkins_api_client/job.rb @@ -712,9 +712,16 @@ def get_downstream_projects(job_name) # # @param [String] job_name # - def get_builds(job_name) + def get_builds(job_name, tree: nil) @logger.info "Obtaining the build details of '#{job_name}'" - response_json = @client.api_get_request("/job/#{path_encode job_name}") + url = "/job/#{path_encode job_name}" + + tree_string = nil + if tree + tree_string = "tree=#{tree}" + end + + response_json = @client.api_get_request url, tree_string response_json["builds"] end From 9fa6d186fc6b9489995f08d87d2c3b03d27a5b46 Mon Sep 17 00:00:00 2001 From: Konstantin Burnaev Date: Wed, 11 Feb 2015 15:33:15 +1100 Subject: [PATCH 2/3] Moved tree string generation code to a helper method. --- lib/jenkins_api_client/job.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/jenkins_api_client/job.rb b/lib/jenkins_api_client/job.rb index 5142fecd..4e4fe180 100644 --- a/lib/jenkins_api_client/job.rb +++ b/lib/jenkins_api_client/job.rb @@ -716,12 +716,7 @@ def get_builds(job_name, tree: nil) @logger.info "Obtaining the build details of '#{job_name}'" url = "/job/#{path_encode job_name}" - tree_string = nil - if tree - tree_string = "tree=#{tree}" - end - - response_json = @client.api_get_request url, tree_string + response_json = @client.api_get_request url, tree_string(tree) response_json["builds"] end @@ -1748,6 +1743,11 @@ def child_projects(params, xml) } } end + + def tree_string tree_value + return nil unless tree_value + "tree=#{tree_value}" + end end end end From 6d60d87d1f3c992e2feda3f8198f13cc5ceb2473 Mon Sep 17 00:00:00 2001 From: Konstantin Burnaev Date: Wed, 11 Feb 2015 15:54:58 +1100 Subject: [PATCH 3/3] Switched from explicit named parameters to legacy (Ruby 1.9) way of passing options. --- lib/jenkins_api_client/job.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/jenkins_api_client/job.rb b/lib/jenkins_api_client/job.rb index 4e4fe180..fe500546 100644 --- a/lib/jenkins_api_client/job.rb +++ b/lib/jenkins_api_client/job.rb @@ -712,10 +712,11 @@ def get_downstream_projects(job_name) # # @param [String] job_name # - def get_builds(job_name, tree: nil) + def get_builds(job_name, options = {}) @logger.info "Obtaining the build details of '#{job_name}'" url = "/job/#{path_encode job_name}" + tree = options[:tree] || nil response_json = @client.api_get_request url, tree_string(tree) response_json["builds"] end