Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,359,879
Community Members
 
Community Events
168
Community Groups

Adaptivist Scriptrunner CQL

Hello,

I am looking to create a user macro that allows this cql query

Skype AND (spacekey:SVCCAT or spacekey:ICS or spacekey:APPCAT)

 

But have the search term variable, so instead of typing 'Skype', and term can be used, and it will return results based on the 3 spaces I have listed.

Search Box gives a choice of 1 of the 3 spaces per search, but not all.

Can the CQL custom scriptrunner option do this?

Thoughts?

Thanks,

 

V

1 comment

This is a pretty simple way to do it by wrapping the search results macro.

Macro Name:
custom_search

Macro Title:
Custom Search

Macro Body Processing:
No macro body

Template:

## Developed by: Davin Studer
## Date created: 06/26/2020
## @noparams

<form class="aui" method="GET" action="">
    <input id="q" name="q" type="text" class="text" placeholder="" /> <button class="button">Search</button>
</form>

#set($q = $req.getParameter('q'))
#if($q && $q != "")
<p>
  <ac:structured-macro ac:name="search" ac:schema-version="1">
    <ac:parameter ac:name="maxLimit">100000</ac:parameter>
    <ac:parameter ac:name="query">($q) AND (spacekey:SVCCAT OR spacekey:ICS OR spacekey:APPCAT)</ac:parameter>
  </ac:structured-macro>
</p>
#end

oh wow!

 

Thank you Thank you Thank you!

I have never made a macro before...

Like Davin Studer likes this

Did I forget to say

 

WOW!!!!

Like Davin Studer likes this

Glad it helped.

It really did, super handy!

Is there a library or site of what others have done the Adaptivist ScriptRunner.  I am sure people have done crazy things!

 

Thanks again!

The search sorts by relevance, can I change that by date modified?  not sure of the syntax

Try this for descending ...

<ac:parameter ac:name="query">($q) AND (spacekey:SVCCAT OR spacekey:ICS OR spacekey:APPCAT) order by lastmodified desc</ac:parameter>

... or this for ascending.

<ac:parameter ac:name="query">($q) AND (spacekey:SVCCAT OR spacekey:ICS OR spacekey:APPCAT) order by lastmodified asc</ac:parameter>

https://developer.atlassian.com/server/confluence/advanced-searching-using-cql/#order-by

Hi Davin,

That makes sense, however when I added the order by, I get zero results:

 

Found 0 search result(s) for (skype) AND (spacekey:SVCCAT OR spacekey:ICS OR spacekey:APPCAT) order by lastmodified desc.

 

This is the macro content when I get zero results:

## Developed by: Davin Studer

## Date created: 06/26/2020

## @noparams

 

<form class="aui" method="GET" action="">

    <input id="q" name="q" type="text" class="text" placeholder="" /> <button class="button">Search</button>

</form>

 

#set($q = $req.getParameter('q'))

#if($q && $q != "")

<p>

  <ac:structured-macro ac:name="search" ac:schema-version="1">

    <ac:parameter ac:name="maxLimit">100000</ac:parameter>

    <ac:parameter ac:name="query">($q) AND (spacekey:SVCCAT OR spacekey:ICS OR spacekey:APPCAT) order by lastmodified desc</ac:parameter>

</ac:structured-macro>

</p>

#end

 

But this works fine

 

## Developed by: Davin Studer

## Date created: 06/26/2020

## @noparams

 

<form class="aui" method="GET" action="">

    <input id="q" name="q" type="text" class="text" placeholder="" /> <button class="button">Search</button>

</form>

 

#set($q = $req.getParameter('q'))

#if($q && $q != "")

<p>

  <ac:structured-macro ac:name="search" ac:schema-version="1">

    <ac:parameter ac:name="maxLimit">100000</ac:parameter>

   <ac:parameter ac:name="query">($q) AND (spacekey:SVCCAT OR spacekey:ICS OR spacekey:APPCAT)</ac:parameter>

</ac:structured-macro>

</p>

#end

 

Which worked:

Found 67 search result(s) for (skype) AND (spacekey:SVCCAT OR spacekey:ICS OR spacekey:APPCAT).

 

Would I have to restart the Confluence Service?  Clear caches?

 

I do appreciate you help and expertise - thank for responding!

 

V

Sorry, I forgot that the search results macro doesn't use CQL. It uses Lucene search syntax. Lucene, to my knowledge, does not have anything in the search syntax to specify the order.

Oh, i see!!!

 

Learned something new!  

 

Thanks again!

Comment

Log in or Sign up to comment
TAGS
Community showcase
Published in Confluence

Watch 4 Confluence apps compete for Best App Demo in September's Appy Hours

Calling all collaborators! Appy Hours on the Atlassian Community is a monthly event where 4 Partner and app vendor presenters go head-to-head with 5-minute demos for the title of Best App Demo. I...

493 views 0 12
Read article

Atlassian Community Events