class JIRA::Resource::Sprint
Public Class Methods
find(client, key)
click to toggle source
# File lib/jira/resource/sprint.rb, line 7 def self.find(client, key) response = client.get(agile_path(client, key)) json = parse_json(response.body) client.Sprint.build(json) end
Private Class Methods
agile_path(client, key)
click to toggle source
# File lib/jira/resource/sprint.rb, line 100 def self.agile_path(client, key) "#{client.options[:context_path]}/rest/agile/1.0/sprint/#{key}" end
Public Instance Methods
add_issue(issue)
click to toggle source
# File lib/jira/resource/sprint.rb, line 20 def add_issue(issue) request_body = { issues: [issue.id] }.to_json response = client.post("#{agile_path}/issue", request_body) true end
complete()
click to toggle source
WORK IN PROGRESS
# File lib/jira/resource/sprint.rb, line 88 def complete complete_url = "#{client.options[:site]}/rest/greenhopper/1.0/sprint/#{id}/complete" response = client.put(complete_url) self.class.parse_json(response.body) end
complete_date()
click to toggle source
# File lib/jira/resource/sprint.rb, line 38 def complete_date get_sprint_details_attribute('complete_date') end
end_date()
click to toggle source
# File lib/jira/resource/sprint.rb, line 34 def end_date get_sprint_details_attribute('end_date') end
get_sprint_details()
click to toggle source
# File lib/jira/resource/sprint.rb, line 49 def get_sprint_details search_url = "#{client.options[:site]}#{client.options[:client_path]}/rest/greenhopper/1.0/rapid/charts/sprintreport?rapidViewId=#{rapidview_id}&sprintId=#{id}" begin response = client.get(search_url) rescue StandardError return nil end json = self.class.parse_json(response.body) @start_date = Date.parse(json['sprint']['startDate']) unless json['sprint']['startDate'] == 'None' @end_date = Date.parse(json['sprint']['endDate']) unless json['sprint']['endDate'] == 'None' @completed_date = Date.parse(json['sprint']['completeDate']) unless json['sprint']['completeDate'] == 'None' @sprint_report = client.SprintReport.build(json['contents']) end
get_sprint_details_attribute(attribute_name)
click to toggle source
# File lib/jira/resource/sprint.rb, line 42 def get_sprint_details_attribute(attribute_name) attribute = instance_variable_get("@#{attribute_name}") return attribute if attribute get_sprint_details instance_variable_get("@#{attribute_name}") end
issues(options = {})
click to toggle source
get all issues of sprint
# File lib/jira/resource/sprint.rb, line 14 def issues(options = {}) jql = 'sprint = ' + id.to_s jql += " and updated >= '#{options[:updated]}'" if options[:updated] Issue.jql(client, jql) end
rapidview_id()
click to toggle source
# File lib/jira/resource/sprint.rb, line 65 def rapidview_id return @attrs['rapidview_id'] if @attrs['rapidview_id'] search_url = client.options[:site] + '/secure/GHGoToBoard.jspa?sprintId=' + id.to_s begin response = client.get(search_url) rescue JIRA::HTTPError => error return unless error.response.instance_of? Net::HTTPFound rapid_view_match = /rapidView=(\d+)&/.match(error.response['location']) @attrs['rapidview_id'] = rapid_view_match[1] unless rapid_view_match.nil? end end
save(attrs = {}, _path = nil)
click to toggle source
Calls superclass method
JIRA::Base#save
# File lib/jira/resource/sprint.rb, line 77 def save(attrs = {}, _path = nil) attrs = @attrs if attrs.empty? super(attrs, agile_path) end
save!(attrs = {}, _path = nil)
click to toggle source
Calls superclass method
JIRA::Base#save!
# File lib/jira/resource/sprint.rb, line 82 def save!(attrs = {}, _path = nil) attrs = @attrs if attrs.empty? super(attrs, agile_path) end
sprint_report()
click to toggle source
# File lib/jira/resource/sprint.rb, line 26 def sprint_report get_sprint_details_attribute('sprint_report') end
start_date()
click to toggle source
# File lib/jira/resource/sprint.rb, line 30 def start_date get_sprint_details_attribute('start_date') end
Private Instance Methods
agile_path()
click to toggle source
# File lib/jira/resource/sprint.rb, line 96 def agile_path self.class.agile_path(client, id) end