Module: Legion::Extensions::Jira::Issues::Runners::Worklogs

Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/jira/issues/runners/worklogs.rb

Instance Method Summary collapse

Methods included from Helpers::Client

#connection, #upload_connection

Instance Method Details

#add_worklog(issue_key:, time_spent:, comment: nil, started: nil) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/legion/extensions/jira/issues/runners/worklogs.rb', line 24

def add_worklog(issue_key:, time_spent:, comment: nil, started: nil, **)
  body = { timeSpent: time_spent }
  body[:comment] = comment if comment
  body[:started] = started if started
  resp = connection(**).post("/rest/api/3/issue/#{issue_key}/worklog", body)
  { worklog: resp.body }
end

#delete_worklog(issue_key:, worklog_id:) ⇒ Object



40
41
42
43
# File 'lib/legion/extensions/jira/issues/runners/worklogs.rb', line 40

def delete_worklog(issue_key:, worklog_id:, **)
  resp = connection(**).delete("/rest/api/3/issue/#{issue_key}/worklog/#{worklog_id}")
  { deleted: resp.status == 204, issue_key: issue_key, worklog_id: worklog_id }
end

#get_issue_worklogs(issue_key:, start_at: 0, max_results: 5000) ⇒ Object



13
14
15
16
17
# File 'lib/legion/extensions/jira/issues/runners/worklogs.rb', line 13

def get_issue_worklogs(issue_key:, start_at: 0, max_results: 5000, **)
  params = { startAt: start_at, maxResults: max_results }
  resp = connection(**).get("/rest/api/3/issue/#{issue_key}/worklog", params)
  { worklogs: resp.body }
end

#get_worklog(issue_key:, worklog_id:) ⇒ Object



19
20
21
22
# File 'lib/legion/extensions/jira/issues/runners/worklogs.rb', line 19

def get_worklog(issue_key:, worklog_id:, **)
  resp = connection(**).get("/rest/api/3/issue/#{issue_key}/worklog/#{worklog_id}")
  { worklog: resp.body }
end

#update_worklog(issue_key:, worklog_id:, time_spent: nil, comment: nil) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/legion/extensions/jira/issues/runners/worklogs.rb', line 32

def update_worklog(issue_key:, worklog_id:, time_spent: nil, comment: nil, **)
  body = {}
  body[:timeSpent] = time_spent if time_spent
  body[:comment] = comment if comment
  resp = connection(**).put("/rest/api/3/issue/#{issue_key}/worklog/#{worklog_id}", body)
  { worklog: resp.body }
end