class APIClient
Attributes
password[R]
url_base[R]
user[R]
Public Class Methods
new(url_base, user, password)
click to toggle source
# File lib/jira/worklog/api_client.rb, line 4 def initialize(url_base, user, password) @user = user @password = password @url_base = url_base end
Public Instance Methods
add_worklog(worklog)
click to toggle source
# File lib/jira/worklog/api_client.rb, line 20 def add_worklog(worklog) req = { comment: worklog[:comment], started: worklog[:date].strftime('%Y-%m-%d') + 'T07:00:00.000+0100', timeSpentSeconds: worklog[:duration] } data = post_request("issue/#{worklog[:issue]}/worklog", req.to_json) # puts "added: #{worklog.inspect}" data['id'] end
delete_worklog(issue, worklog_id)
click to toggle source
# File lib/jira/worklog/api_client.rb, line 16 def delete_worklog(issue, worklog_id) delete_request("issue/#{issue}/worklog/#{worklog_id}") end
issues()
click to toggle source
# File lib/jira/worklog/api_client.rb, line 11 def issues data = request("search?jql=assignee=#{user}") data['issues'].map { |issue| {key: issue['key'], id: issue['id'], summary: issue['fields']['summary']} } end
worklogs(issue)
click to toggle source
# File lib/jira/worklog/api_client.rb, line 32 def worklogs(issue) data = request("issue/#{issue}/worklog") # pp data data['worklogs'].map { |worklog| { duration: worklog['timeSpentSeconds'], comment: worklog['comment'], issue_id: worklog['issueId'], id: worklog['id'], date: Date.strptime(worklog['started'][0..9], '%Y-%m-%d') } } end
Private Instance Methods
delete_request(path)
click to toggle source
# File lib/jira/worklog/api_client.rb, line 53 def delete_request(path) url = url_base + path RestClient::Request.execute method: :delete, url: url, user: user, password: password, :verify_ssl => false end
post_request(path, payload)
click to toggle source
# File lib/jira/worklog/api_client.rb, line 58 def post_request(path, payload) url = url_base + path resp = RestClient::Request.execute method: :post, url: url, user: user, password: password, :verify_ssl => false, payload: payload, headers: {'Content-Type' => 'application/json; charset=utf-8'} JSON.parse resp.body end
request(path)
click to toggle source
# File lib/jira/worklog/api_client.rb, line 47 def request(path) url = url_base + path resp = RestClient::Request.execute method: :get, url: url, user: user, password: password, :verify_ssl => false JSON.parse resp.body end