• About Jira Software modules
  • Admin Page
  • Administration UI locations
  • Boards
  • Build
  • Dashboard Item
  • Deployment
  • Development Tool
  • Dialog
  • Entity Property
  • Feature Flag
  • Global Permission
  • Home container
  • Issue Background Script
  • Issue Content
  • Issue Field
  • Issue Glance
  • Issue view UI locations
  • Keyboard Shortcut
  • Page
  • Project Admin Tab Panel
  • Project Page
  • Project Permission
  • Project settings UI locations
  • Project sidebar
  • Remote Link
  • Report
  • Search Request View
  • Tab Panel
  • Time Tracking Provider
  • User profile menu
  • Web Item
  • Web Panel
  • Web Section
  • Webhook
  • Workflow Condition
  • Workflow Post Function
  • Workflow Validator

Entity Property

Entity properties allow add-ons to add key/value stores to Jira entities, such as issues or projects. This module allows you to request those entity properties to be indexed by Jira and able to be queried via JQL searches. They are also available in the following conditions:

  • entity_property_equal_to
  • entity_property_equal_to_context
  • entity_property_contains_any
  • entity_property_contains_all
  • entity_property_contains_context

Note that authenticated users can access entity and app properties using the REST APIs. For this reason, never store private user data or configuration information using entity or app properties.

Overview

The purpose of this module is to specify what data from which entity properties should be extracted and indexed. Pretend that an add-on developer has an issue entity property with the key 'attachment' and in that entity property they store the following data:

1
2
3
4
5
6
7
8
9
  
 {
     "size": 14231,
     "name": "new-years-jam",
     "extension": "mp3",
     "updated": "2016-12-25T20:55:59"
 }
  
 

In this example the developer wants to make the size, extension and updated fields under the attachment key searchable via JQL. To do that they start by declaring that the entityType to index will be an 'issue' entity type; this is specified at the top level of their module. Then they need to specify which entity property key they wish to extract data from: so they add a single entry to keyConfiguratons with propertyKey set to 'attachment'. If there are multiple issue entity properties that an add-on developer wanted to index then they could add more keyConfigurations to declare those extra properties. From there the add-on developer specifies which data they want to extract from the json value that is stored in this issue entity property. In this example they would add three extractions for the size, extension and updated paths under the attachment key, being clear to specify the type of data being extracted and what alias should be made available to JQL queries.

It is important to note that array types can be indexed too; the type field in the extraction should be the type of each element in the array.

You can see the resultant module definition in the example below.

For more information, please see the Jira documentation on entity properties.

Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
  "modules": {
    "jiraEntityProperties": [
      {
        "keyConfigurations": [
          {
            "extractions": [
              {
                "objectName": "size",
                "type": "number",
                "alias": "attachmentSize"
              },
              {
                "objectName": "extension",
                "type": "text",
                "alias": "attachmentExtension"
              },
              {
                "objectName": "updated",
                "type": "date",
                "alias": "attachmentUpdatedDate"
              }
            ],
            "propertyKey": "attachment"
          }
        ],
        "entityType": "issue",
        "name": {
          "value": "Attachment Index Document"
        },
        "key": "attachment-entity-property"
      }
    ]
  }
}

Properties

key

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

name

Type
object
Required
Yes

entityType

Type
string
Defaults to
issue
Allowed values
  • issue
  • ISSUE
  • user
  • USER
  • project
  • PROJECT
  • Description

    The type of the entity. The default value is issue.


    keyConfigurations

    Type
    [Index Key Configuration, ... ]
    Description

    List of properties from which selected values are indexed.


    • System status
    • Privacy
    • Developer Terms
    • Trademark
    • Cookie Preferences
    • © 2019 Atlassian