class Durt::JiraBugTracker
Attributes
client[RW]
Public Instance Methods
after_initialize()
click to toggle source
# File lib/durt/jira_bug_tracker.rb, line 10 def after_initialize @client = JIRA::Client.new(@config) end
fetch_issues()
click to toggle source
# File lib/durt/jira_bug_tracker.rb, line 14 def fetch_issues fetched_issues = @client.Issue.jql(fetch_issues_query) fetched_issues.map do |issue| { key: issue.key, summary: issue.summary, source: source_name, project: project } end end
fetch_statuses()
click to toggle source
# File lib/durt/jira_bug_tracker.rb, line 27 def fetch_statuses statuses = @client.Status.all statuses.map do |status| Durt::Status .find_or_create_by(source_id: status.id, source: 'Jira') do |s| s.name = status.name s.active = false end end end
Private Instance Methods
fetch_issues_query()
click to toggle source
def estimate(key, estimation)
comment(key, "Total seconds estimated for this task: #{estimation}")
end
def comment(key, content)
issue = client.Issue.find(key) comment = issue.comments.build comment.save(body: content)
end
# File lib/durt/jira_bug_tracker.rb, line 52 def fetch_issues_query statuses_query = statuses.active.map { |s| "\"#{s.name}\"" }.join(', ') query = "assignee=currentUser() AND status in (#{statuses_query})" puts query query end