]> source.dussan.org Git - redmine.git/commitdiff
Add attachment information to issues.xml in REST API (#12181).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 3 Mar 2017 17:18:58 +0000 (17:18 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 3 Mar 2017 17:18:58 +0000 (17:18 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@16360 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/views/issues/index.api.rsb
test/integration/api_test/issues_test.rb

index 7660ccbd58bbc5f95a1198864a0655e579e39436..4bba32549f5d40ae2fb444f884944f9ffc1a8e46 100644 (file)
@@ -26,6 +26,12 @@ api.array :issues, api_meta(:total_count => @issue_count, :offset => @offset, :l
       api.updated_on issue.updated_on
       api.closed_on  issue.closed_on
 
+      api.array :attachments do
+        issue.attachments.each do |attachment|
+          render_api_attachment(attachment, api)
+        end
+      end if include_in_api_response?('attachments')
+
       api.array :relations do
         issue.relations.each do |relation|
           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)
index 65bf3be5b0c572dd829a3d0f9da13b12efd5fe63..f62f83258ff61f2bf181da6ac03bd9dfc1681b94 100644 (file)
@@ -82,6 +82,22 @@ class Redmine::ApiTest::IssuesTest < Redmine::ApiTest::Base
     end
   end
 
+  test "GET /issues.xml with attachments" do
+    get '/issues.xml?include=attachments'
+
+    assert_response :success
+    assert_equal 'application/xml', @response.content_type
+
+    assert_select 'issue id', :text => '3' do
+      assert_select '~ attachments attachment', 4
+    end
+
+    assert_select 'issue id', :text => '1' do
+      assert_select '~ attachments'
+      assert_select '~ attachments attachment', 0
+    end
+  end
+
   test "GET /issues.xml with invalid query params" do
     get '/issues.xml', {:f => ['start_date'], :op => {:start_date => '='}}