Class: CodebaseApi::Ticket

Inherits:
Object
  • Object
show all
Defined in:
lib/codebase_api/ticket.rb

Class Method Summary collapse

Class Method Details

.all(project, page_number = nil) ⇒ Object

list the tickets for a project



7
8
9
10
11
12
13
# File 'lib/codebase_api/ticket.rb', line 7

def all(project, page_number = nil)
  if page_number.is_a? Integer
    CodebaseApi::Request.request("#{project}/tickets?page=#{page_number}")
  else
    CodebaseApi::Request.request("#{project}/tickets")
  end
end

.categories(project) ⇒ Object

show all ticket categories



53
54
55
# File 'lib/codebase_api/ticket.rb', line 53

def categories(project)
  CodebaseApi::Request.request("#{project}/tickets/categories")
end

.create(project, summary, description) ⇒ Object

create a new ticket for a project



21
22
23
# File 'lib/codebase_api/ticket.rb', line 21

def create(project, summary, description)
  CodebaseApi::Request.request("#{project}/tickets", :post, {:ticket => {:summary => summary, :description => description}} )
end

.milestones(project) ⇒ Object

show all milestones



58
59
60
# File 'lib/codebase_api/ticket.rb', line 58

def milestones(project)
  CodebaseApi::Request.request("#{project}/milestones")
end

.priorities(project) ⇒ Object

show all ticket priorities



48
49
50
# File 'lib/codebase_api/ticket.rb', line 48

def priorities(project)
  CodebaseApi::Request.request("#{project}/tickets/priorities")
end

.search(project, query) ⇒ Object

search all tickets



16
17
18
# File 'lib/codebase_api/ticket.rb', line 16

def search(project, query)
  CodebaseApi::Request.request("#{project}/tickets?query=#{query}")
end

.show(project, ticket_id) ⇒ Object

view the notes for a ticket



26
27
28
# File 'lib/codebase_api/ticket.rb', line 26

def show(project, ticket_id)
  CodebaseApi::Request.request("#{project}/tickets/#{ticket_id}/notes")
end

.show_note(project, ticket_id, note_id) ⇒ Object

show a specific note for a ticket



31
32
33
# File 'lib/codebase_api/ticket.rb', line 31

def show_note(project, ticket_id, note_id)
  CodebaseApi::Request.request("#{project}/tickets/#{ticket_id}/notes/#{note_id}")
end

.statuses(project) ⇒ Object

show all ticket statuses



43
44
45
# File 'lib/codebase_api/ticket.rb', line 43

def statuses(project)
  CodebaseApi::Request.request("#{project}/tickets/statuses")
end

.update(project, ticket_id, content, time_added = nil, status_id = nil, priority_id = nil, category_id = nil, assignee_id = nil, summary = nil) ⇒ Object

create a note for a ticket



36
37
38
39
# File 'lib/codebase_api/ticket.rb', line 36

def update(project, ticket_id, content, time_added=nil, status_id=nil, priority_id=nil, category_id=nil, assignee_id=nil, summary=nil)
  attributes = {:ticket_note => { :content => content, :time_added => time_added, :changes => { :status_id => status_id, :priority_id => priority_id, :category_id => category_id, :assignee_id => assignee_id, :summary => summary } } }
  CodebaseApi::Request.request("#{project}/tickets/#{ticket_id}/notes", :post, attributes)
end

.watchers(project, ticket_id) ⇒ Object

show all watchers for a ticket



63
64
65
# File 'lib/codebase_api/ticket.rb', line 63

def watchers(project, ticket_id)
  CodebaseApi::Request.request("#{project}/tickets/#{ticket_id}/watchers")
end