From: Go MAEDA Date: Tue, 21 Apr 2020 08:55:33 +0000 (+0000) Subject: Adds option to include issue custom fields in projects#show API response (#33301). X-Git-Tag: 4.2.0~1064 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=adb899e1b9da880d9ba38c3272afa206975e74bc;p=redmine.git Adds option to include issue custom fields in projects#show API response (#33301). Patch by Jens Krämer. git-svn-id: http://svn.redmine.org/redmine/trunk@19714 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 0df19d56d..785f84291 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -152,6 +152,12 @@ module ProjectsHelper api.enabled_module(:id => enabled_module.id, :name => enabled_module.name) end end if include_in_api_response?('enabled_modules') + + api.array :issue_custom_fields do + project.issue_custom_fields.each do |custom_field| + api.custom_field(:id => custom_field.id, :name => custom_field.name) + end + end if include_in_api_response?('issue_custom_fields') end def bookmark_link(project, user = User.current) diff --git a/test/integration/api_test/projects_test.rb b/test/integration/api_test/projects_test.rb index 2e4e73c3a..341865211 100644 --- a/test/integration/api_test/projects_test.rb +++ b/test/integration/api_test/projects_test.rb @@ -83,6 +83,14 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base assert_select 'enabled_modules[type=array] enabled_module[name=issue_tracking]' end + test "GET /projects.xml with include=issue_custom_fields should return custom fields" do + get '/projects.xml?include=issue_custom_fields' + assert_response :success + assert_equal 'application/xml', @response.media_type + + assert_select 'issue_custom_fields[type=array] custom_field[name="Project 1 cf"]' + end + test "GET /projects/:id.xml should return the project" do Project.find(1).update!(:inherit_members => '1')