Project

General

Profile

Actions

Patch #6277

closed

REST API for Search

Added by Akiko Takano over 13 years ago. Updated about 8 years ago.

Status:
Closed
Priority:
Normal
Category:
REST API
Target version:
Start date:
2010-09-03
Due date:
% Done:

0%

Estimated time:

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

search_rest_api.patch (1.21 KB) search_rest_api.patch Akiko Takano, 2010-09-03 02:27
search_rest_api_trunk_r15148.patch (3.99 KB) search_rest_api_trunk_r15148.patch Takenori TAKAKI, 2016-02-25 02:05

Related issues

Has duplicate Redmine - Feature #8474: [REST] search issues easilyClosed2011-05-31

Actions
Actions #1

Updated by Eric Davis over 13 years ago

  • Category set to REST API

I'll need some tests for this patch before it can be reviewed.

Actions #2

Updated by Akiko Takano over 13 years ago

Thanks for your taking time to see it.
I hope to apply this feature to RedmineAir if implemented.

Actions #3

Updated by Christian Baus over 10 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

Actions #4

Updated by Terence Mill over 10 years ago

+1

Actions #5

Updated by David Rahusen about 10 years ago

+1

Actions #6

Updated by Tony NG about 9 years ago

+1

Actions #7

Updated by Matthias Schelling about 9 years ago

+1

Actions #8

Updated by Dmitry Azarenko over 8 years ago

+1

Actions #9

Updated by mathew murphy over 8 years ago

+1

Actions #10

Updated by Go MAEDA over 8 years ago

Actions #11

Updated by Toshi MARUYAMA about 8 years ago

  • Related to deleted (Feature #8474: [REST] search issues easily)
Actions #12

Updated by Toshi MARUYAMA about 8 years ago

Actions #13

Updated by Justin Hill about 8 years ago

+1

Actions #14

Updated by Go MAEDA about 8 years ago

  • Target version set to Candidate for next major release
Actions #15

Updated by Takenori TAKAKI about 8 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
Actions #16

Updated by Go MAEDA about 8 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.

Actions #17

Updated by Jean-Philippe Lang about 8 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.

Actions #18

Updated by Akiko Takano about 8 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!

Actions #19

Updated by Akiko Takano about 8 years ago

Hi, TAKAKI-san,
Thank you for your support and providing patch file. I really appreciate it!

Actions

Also available in: Atom PDF