Search Request View

A Search Request View allows you to render a custom representation of a search result. Rendering a custom XML format is a common example.

This module doesn't work with the Connect JavaScript API (Known as AP in Atlassian Connect JavaScript project). AP only works in a Connect iFrame, but this module is not in such a context.

Once you install an app containing a declaration of a Search Request View module, a new entry shows up in the Export menu on the Issue Navigator Page. Click on the entry to go to the URL provided by your app. Passing the issue keys, pagination information, and the signed parameters allow you to verify the validity of the request.

To declare a Search Request View, provide the URL that will handle the HTTP GET request. This URL is relative to the base URL of the descriptor.

Your service will be invoked with these parameters:

  • issues: A comma-separated list of issue keys
  • link: A link back to the Jira Issue Navigator where the action was invoked
  • startIssue: The index of the first passed issue key in the list of all issues
  • endIssue: The index of the last passed issue key in the list of all issues
  • totalIssues: The number of issues in the entire search result

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "modules": {
    "jiraSearchRequestViews": [
      {
        "url": "/search-request.csv",
        "weight": 100,
        "description": {
          "value": "My search view description"
        },
        "name": {
          "value": "My Search View"
        },
        "key": "my-search-view"
      }
    ]
  }
}

Properties

key
Type
Max length
100
Required
Yes
Pattern
^[a-zA-Z0-9-]+$
Description

A key to identify this module.

This key must be unique relative to the add on, with the exception of Confluence macros: Their keys need to be globally unique.

Keys must only contain alphanumeric characters and dashes.

The key is used to generate the url to your add-on's module. The url is generated as a combination of your add-on key and module key. For example, an add-on which looks like:

1
2
3
4
5
6
7
8
9
{
    "key": "my-addon",
    "modules": {
        "configurePage": {
            "key": "configure-me",
        }
    }
}

Will have a configuration page module with a URL of /plugins/servlet/ac/my-addon/configure-me.


name
Type
Required
Yes
Description

A human readable name.

Represents a string that can be resolved via a localization properties file. You can use the same i18n Property key and value in multiple places if you like, but identical keys must have identical values.

Example

1
2
3
4
{
  "value": "My text"
}

Properties

value
Type
Max length
1500
Required
Yes
Description

The human-readable default value. This will be used if no translation exists. Only the following HTML tags are supported: b, i, strong, em, and code.

i18n
Type
Max length
300
Description

The localization key for the human-readable value. Translations for the keys are defined at the top level of the add-on descriptor.


url
Type
Required
Yes
Description

The URL of the service that will render the representation for the result set. The URL is interpreted relative to the baseUrl in the descriptor.


conditions
Type
Description

Conditions can be added to display only when all the given conditions are true.


description
Type
Description

A description of your Search Request View

Represents a string that can be resolved via a localization properties file. You can use the same i18n Property key and value in multiple places if you like, but identical keys must have identical values.

Example

1
2
3
4
{
  "value": "My text"
}

Properties

value
Type
Max length
1500
Required
Yes
Description

The human-readable default value. This will be used if no translation exists. Only the following HTML tags are supported: b, i, strong, em, and code.

i18n
Type
Max length
300
Description

The localization key for the human-readable value. Translations for the keys are defined at the top level of the add-on descriptor.


params
Type
Description

This object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.

Example

1
2
3
4
5
6
7
{
  "params": {
    "someOtherProperty": "someValue",
    "myCustomProperty": "myValue"
  }
}

weight
Type
Description

Determines the order in which the Search Request View entry appears in the Export menu.

The "lightest" weight (i.e., lowest number) appears first, rising relative to other items, while the "heaviest" weights sink to the bottom of the menu or list.