Custom configuration values in the JIRA server

danipen February 23, 2014

Hi

I'm writing a JIRA integration in my client application. My application is able to list and show Jira issues, and we also have setup a custom field to include custom info in the issues.

Now, I want to include some custom information in the custom field. That information is an URL, but the URL must be defined by the JIRA administrator. So, I need the following:

1) I need the JIRA administrator to configure a "variable" in JIRA server. For example: http://myurl/view/$id$

2) Then, I need the client to read that URL value, then replace the variable fields with a valid id, and will write it in the custom field. For example, if we're processing the item 54, the URL that will be posted to the custom field will be http://myurl/view/54

My questions are:

1) Where should the administrator store the URL?. I tried the application properties, in the jira-config.properties file but the problem is that I need a WebSudo to get the properties. An starndard client normally uses a non-admin account

2) What API call should the client use to retrieve this configuration value?

Thanks in advance

3 answers

1 accepted

0 votes
Answer accepted
danipen February 24, 2014

This is what I was looking for:

jira.websudo.is.disabled = true
jira.property.test = http://myurl/view/$id$

1 vote
Radu Dumitriu
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 24, 2014

It can be done with the help of katl-commons plugin, see section http://confluence.kepler-rominfo.com/display/SIL/KRedi+-+The+Redirect+Assistant

Your URL will be in the form: <base_url>/secure/KRedi.jspa?key=TST-1234&urlid=9876

and your script:

number ikey = argv["key"];
number lid = argv["urlid"];

//replace with your own customfield id
%ikey%.customfield_12345 = "http://foo.com/my/path/" + lid;

//the return below doesn't matter
return "/browse/" + ikey;

Katl-commons is free and it can be used to do all these sort of integrations.


1 vote
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
February 23, 2014

This new url is not as simple as just adding a variable - you'll need to create a plugin that adds the variable url, allows the administrator to configure whatever it is, and then provides the url to non-admin accounts. You'll also need to write all the API segments to expose it internally.

I suspect you might be best off with a more simple approach - write a scripted custom field that gets and displays the data. Your admin can set the url in the script they write, and as it's displayed directly on screen, anyone who can see the issue can fetch it (even REST lets you grab custom field data)

danipen February 24, 2014

Hi Nic, thanks for your answer, please, could you provide a simple example of an scripted custom field, or refer to some documentation, so I can understand exactly how to proceed? Thanks!

Tarun Sapra
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
February 24, 2014

Scripted custom field is part of script runner plugin https://jamieechlin.atlassian.net/wiki/display/GRV/Scripted+Fields

Suggest an answer

Log in or Sign up to answer