Chris@119
|
1 api.issue do
|
Chris@119
|
2 api.id @issue.id
|
Chris@119
|
3 api.project(:id => @issue.project_id, :name => @issue.project.name) unless @issue.project.nil?
|
Chris@119
|
4 api.tracker(:id => @issue.tracker_id, :name => @issue.tracker.name) unless @issue.tracker.nil?
|
Chris@119
|
5 api.status(:id => @issue.status_id, :name => @issue.status.name) unless @issue.status.nil?
|
Chris@119
|
6 api.priority(:id => @issue.priority_id, :name => @issue.priority.name) unless @issue.priority.nil?
|
Chris@119
|
7 api.author(:id => @issue.author_id, :name => @issue.author.name) unless @issue.author.nil?
|
Chris@119
|
8 api.assigned_to(:id => @issue.assigned_to_id, :name => @issue.assigned_to.name) unless @issue.assigned_to.nil?
|
Chris@119
|
9 api.category(:id => @issue.category_id, :name => @issue.category.name) unless @issue.category.nil?
|
Chris@119
|
10 api.fixed_version(:id => @issue.fixed_version_id, :name => @issue.fixed_version.name) unless @issue.fixed_version.nil?
|
Chris@119
|
11 api.parent(:id => @issue.parent_id) unless @issue.parent.nil?
|
Chris@909
|
12
|
Chris@119
|
13 api.subject @issue.subject
|
Chris@119
|
14 api.description @issue.description
|
Chris@119
|
15 api.start_date @issue.start_date
|
Chris@119
|
16 api.due_date @issue.due_date
|
Chris@119
|
17 api.done_ratio @issue.done_ratio
|
Chris@119
|
18 api.estimated_hours @issue.estimated_hours
|
Chris@119
|
19 api.spent_hours(@issue.spent_hours) if User.current.allowed_to?(:view_time_entries, @project)
|
Chris@909
|
20
|
Chris@1464
|
21 render_api_custom_values @issue.visible_custom_field_values, api
|
Chris@909
|
22
|
Chris@119
|
23 api.created_on @issue.created_on
|
Chris@119
|
24 api.updated_on @issue.updated_on
|
Chris@1464
|
25 api.closed_on @issue.closed_on
|
Chris@909
|
26
|
Chris@119
|
27 render_api_issue_children(@issue, api) if include_in_api_response?('children')
|
Chris@909
|
28
|
Chris@909
|
29 api.array :attachments do
|
Chris@909
|
30 @issue.attachments.each do |attachment|
|
Chris@909
|
31 render_api_attachment(attachment, api)
|
Chris@909
|
32 end
|
Chris@909
|
33 end if include_in_api_response?('attachments')
|
Chris@909
|
34
|
Chris@119
|
35 api.array :relations do
|
Chris@210
|
36 @relations.each do |relation|
|
Chris@909
|
37 api.relation(:id => relation.id, :issue_id => relation.issue_from_id, :issue_to_id => relation.issue_to_id, :relation_type => relation.relation_type, :delay => relation.delay)
|
Chris@119
|
38 end
|
Chris@210
|
39 end if include_in_api_response?('relations') && @relations.present?
|
Chris@909
|
40
|
Chris@119
|
41 api.array :changesets do
|
Chris@119
|
42 @issue.changesets.each do |changeset|
|
Chris@119
|
43 api.changeset :revision => changeset.revision do
|
Chris@119
|
44 api.user(:id => changeset.user_id, :name => changeset.user.name) unless changeset.user.nil?
|
Chris@119
|
45 api.comments changeset.comments
|
Chris@119
|
46 api.committed_on changeset.committed_on
|
Chris@119
|
47 end
|
Chris@119
|
48 end
|
Chris@119
|
49 end if include_in_api_response?('changesets') && User.current.allowed_to?(:view_changesets, @project)
|
Chris@909
|
50
|
Chris@119
|
51 api.array :journals do
|
Chris@1115
|
52 @journals.each do |journal|
|
Chris@119
|
53 api.journal :id => journal.id do
|
Chris@119
|
54 api.user(:id => journal.user_id, :name => journal.user.name) unless journal.user.nil?
|
Chris@119
|
55 api.notes journal.notes
|
Chris@119
|
56 api.created_on journal.created_on
|
Chris@119
|
57 api.array :details do
|
Chris@1464
|
58 journal.visible_details.each do |detail|
|
Chris@119
|
59 api.detail :property => detail.property, :name => detail.prop_key do
|
Chris@119
|
60 api.old_value detail.old_value
|
Chris@119
|
61 api.new_value detail.value
|
Chris@119
|
62 end
|
Chris@119
|
63 end
|
Chris@119
|
64 end
|
Chris@119
|
65 end
|
Chris@119
|
66 end
|
Chris@119
|
67 end if include_in_api_response?('journals')
|
Chris@1464
|
68
|
Chris@1464
|
69 api.array :watchers do
|
Chris@1464
|
70 @issue.watcher_users.each do |user|
|
Chris@1464
|
71 api.user :id => user.id, :name => user.name
|
Chris@1464
|
72 end
|
Chris@1464
|
73 end if include_in_api_response?('watchers') && User.current.allowed_to?(:view_issue_watchers, @issue.project)
|
Chris@119
|
74 end
|