class Peekj::JiraApi

Public Class Methods

add_comment(issue_key, comment_body) click to toggle source
# File lib/peekj/jira_api.rb, line 19
def self.add_comment(issue_key, comment_body)
  params =  {body: comment_body}
  response = new.post("issue/#{issue_key}/comment", params)
  post_succeeded = !response['created'].nil?
  post_succeeded
end
get_issue(issue_key) click to toggle source
# File lib/peekj/jira_api.rb, line 6
def self.get_issue(issue_key)
  response = new.get("issue/#{issue_key}")

  OpenStruct.new(
    status: response['fields']['status']['name'],
    summary: response['fields']['summary'],
    description: response['fields']['description'],
    comments: response['fields']['comment']['comments'].map { |c|
      {author: c['author']['displayName'], body: c['body']}
    }
  )
end

Public Instance Methods

get(relative_path) click to toggle source
# File lib/peekj/jira_api.rb, line 26
def get(relative_path)
  HTTP.basic_auth(auth_params).get("#{base_url}#{relative_path}").parse
end
post(relative_path, params) click to toggle source
# File lib/peekj/jira_api.rb, line 30
def post(relative_path, params)
  HTTP.basic_auth(auth_params).post("#{base_url}#{relative_path}", json: params).parse
end

Private Instance Methods

auth_params() click to toggle source
# File lib/peekj/jira_api.rb, line 36
def auth_params
  @auth_params ||= {user: Credentials.username, pass: Credentials.api_token}
end
base_url() click to toggle source
# File lib/peekj/jira_api.rb, line 40
def base_url
  app_url = Credentials.app_url

  "#{app_url}/rest/api/latest/"
end