Working with Autocomplete

Prerequisite

To work with autocomplete you need first to configure a datasource. If you did not, please refer to the How to configure datasource for SQL Custom Field

Configuring autocomplete Custom Field

Step 1: Choose the datasource

To retrieve data, you will need first to connect to the database that stores your data. Choosing the right datasource will make the connection between the customfield and the database.


Step 2 : Construct the query

If you are using SQL SERVER or Oracle, you must add order by at the end of the query

After choosing the datasource and the custom field type (we assume that you picked autocomplete as the custom field type). You will need now to fulfill the configuration with a working query. The query must first work and retrieve data on your DBMS.

To illustrate properly how it works, let's implement a real case :

Suppose that we have the table  City in our database. Here is the structure of our database : 

City
City_id
City

A simple select query will retrieve cities from the table city  :


Column Alias: When using an alias for the main column. If there is no alias then the field must be the same as the column name.

Column name: The name of the main column

Loading data: Please select Automatique for autocomplete

Number of characters to start the search: The number of characters to input before autocomplete starts.

Number of the element to return: The number of elements to return as a result of the autocompletion.


Here is the result after entering «ben» :


Step 3: Retrieve more data

Children fields will help you to retrieve more data on issues. To work with Children fields, no special custom field is required, you can use JIRA custom field as Text, Date, number, etc.

In the following example, the query has been modified to select an id and, depending on this id the plugin will retrieve the name of the city :


Query: The query must contain all the columns that you want to retrieve.

Column Alias: When using an alias for the main column. If no alias is used,  then it must be the same as the column name.

And here is the result :











Complex configuration

Now that the usage of autocomplete is more familiar to you, we can go one step further with a more complex configuration.

Suppose that our database contains the following tables:


Country
Country_id
Country
City
City_id
City
Country_id

At this point, the need is to retrieve the country for each selected city. Here's the new configuration :



It's possible to join two or more tables. It's important to know that if the query works on your DBMS it will also work on the custom field configuration except when :

  • Using ORDER BY, you must add in the where clause: column name like '%' in our example the query becomes:
select city,country from city c inner join country co on c.country_id = co.country_id where city like '%' order by c.city_id

Here is the result of the custom field configuration :