class FlightPlanCli::Api

Attributes

board_id[R]
key[R]
repo_id[R]
secret[R]
url[R]

Public Class Methods

new(url:, key:, secret:, board_id: nil, repo_id: nil) click to toggle source
# File lib/flight_plan_cli/api.rb, line 5
def initialize(url:, key:, secret:, board_id: nil, repo_id: nil)
  @url = url
  @key = key
  @secret = secret
  @board_id = board_id
  @repo_id = repo_id
end

Public Instance Methods

board_tickets(assignee_username: nil, remote_number: nil) click to toggle source
# File lib/flight_plan_cli/api.rb, line 13
def board_tickets(assignee_username: nil, remote_number: nil)
  params = {
    repo_id: repo_id,
    assignee_username: assignee_username,
    remote_number: remote_number
  }

  HTTParty.get("#{url}/boards/#{board_id}/board_tickets.json", query: params, headers: headers)
end
create_release(title = nil) click to toggle source
# File lib/flight_plan_cli/api.rb, line 23
def create_release(title = nil)
  params = {
    release: {
      title: title || 'FlightPlan CLI release',
      repo_ids: [repo_id]
    }
  }

  HTTParty.post("#{url}/boards/#{board_id}/releases", body: params.to_json, headers: headers)
end

Private Instance Methods

headers() click to toggle source
# File lib/flight_plan_cli/api.rb, line 39
def headers
  @headers = {
    'Authorization' => "Token token=\"#{key}:#{secret}\"",
    'Content-Type' => 'application/json'
  }
end