Patch #6277
closedREST API for Search
0%
Description
Some CMS or Web Application have REST API or RSS/Atom API for search function.
Since search controller don't have to implement any update/delete/create function, I suppose only an xml template is required to support REST API.
This patch is over r4053.
Files
Related issues
      
      Updated by Eric Davis about 15 years ago
      
    
    - Category set to REST API
 
I'll need some tests for this patch before it can be reviewed.
      
      Updated by Akiko Takano about 15 years ago
      
    
    Thanks for your taking time to see it.
I hope to apply this feature to RedmineAir if implemented.
      
      Updated by Christian Baus about 12 years ago
      
    
    +1 for this feature!!
i adapt the patch above for the current redmine version 2.3 and add some extension
Edit: app/controller/search_controller.rb (render part of index action)
    respond_to do |format|
        format.html { render 'search/index', :layout => !request.xhr? }
        format.api  { }
    end
	Add: app/views/search/index.xml.builder
xml.instruct!
xml.search_results :type => 'array' do
  @results.each do |result|
          xml.result do
                xml.title       result.event_title
                xml.type        result.event_type
                xml.url url_for(result.event_url(:only_path => false))
        xml.description result.event_description
        xml.datetime    result.event_datetime
if result.class == Issue
        xml.id result.id
        xml.tracker_id result.tracker_id
        xml.project_id result.project_id
        xml.subject result.subject
        xml.category_id result.category_id
        xml.assigned_to_id result.assigned_to_id
        xml.priority_id result.priority_id
        xml.author_id result.author_id
        xml.created_at result.created_on
        xml.updated_at result.updated_on
        xml.status result.status
        xml.subject result.subject
end
if result.class == Project
        xml.id result.id
        xml.parent_id result.parent_id
        xml.created_at result.created_on
        xml.updated_at result.updated_on
        xml.status result.status
        xml.name result.name
        custom_field = result.available_custom_fields.select{|f|f.name.eql?("intranet_description")}.first
        if custom_field && custom_field.custom_values
                xml.intranet_description custom_field.custom_values.first.value
        else
                xml.intranet_description "" 
        end
end
    end
  end
end
      
      Updated by Go MAEDA almost 10 years ago
      
    
    - Related to Feature #8474: [REST] search issues easily added
 
      
      Updated by Toshi MARUYAMA over 9 years ago
      
    
    - Related to deleted (Feature #8474: [REST] search issues easily)
 
      
      Updated by Toshi MARUYAMA over 9 years ago
      
    
    - Has duplicate Feature #8474: [REST] search issues easily added
 
      
      Updated by Go MAEDA over 9 years ago
      
    
    - Target version set to Candidate for next major release
 
      
      Updated by Takenori TAKAKI over 9 years ago
      
    
    
    I do appreciate Akiko Takano's work. I would be very happy if I could see the feature in Redmine 3.3.0.
I have updated the patch:
- Compatible with latest trunk (r15148)
 - Added event.id to a response
 - Added tests
 
      
      Updated by Go MAEDA over 9 years ago
      
    
    - Target version changed from Candidate for next major release to 3.3.0
 
The patch created by Takenori TAKAKI works fine on the trunk (r15160) and passed all tests.
I propose to deliver this feature in Redmine 3.3.0.
      
      Updated by Jean-Philippe Lang over 9 years ago
      
    
    - Status changed from New to Closed
 - Assignee set to Jean-Philippe Lang
 
Patch committed. I've made a few more changes to support pagination.
Thanks.
      
      Updated by Akiko Takano over 9 years ago
      
    
    Jean-Philippe Lang wrote:
Patch committed. I've made a few more changes to support pagination.
Thanks.
Thank you so much for all you did!
      
      Updated by Akiko Takano over 9 years ago
      
    
    Hi, TAKAKI-san,
Thank you for your support and providing patch file. I really appreciate it!