What is the best way to load the jira application context to get the context path?


I am developing a plugin which requires the use of context path of jira for reading some resource files. I tried various ways for getting the path but failed and got strucked. I tried system.getEnv("CATALINA_HOME"), it is working in windows environment but returning null in linux environement. Any suggestion would be greatly appreciated.


1 answer

1 accepted

0 votes
Accepted answer

Depends what you want to do - I'd reccomend using JIRA home to store resources rather than the web app folder. To get the home folder, do something like -

import com.atlassian.jira.config.util.JiraHome;
class MyPlugin {
    public MyPlugin(final JiraHome jiraHome)
        //jiraHome.getHomePath() will give you home folder

If you realy want to get the root contet path, then the best way is to do something like

  ServletContext servletContext = ServletContextProvider.getServletContext();
        if (servletContext == null)
            log.error("No ServletContext exists.");
            File webappServletPath = new File(servletContext.getRealPath("/"));

Hi James,

Since i donno how to get the reference of jiraHome, i tried using ServletContextProvider and i am able to get the context path. Thanks for your answer.

Appreciate if you could let me know the way to get the jiraHome reference.



Thanks for you answer.

I am getting the some exceptions while adding users to jira programatically. Could you please let me know how to resolve this in jira 4.4.4? in jira 4.0.2 the below function is working though the methods are deprecated.

public List<String> getActiveUsers(String ldapType, String sGroup)

throws EntityNotFoundException {

UserManager userManager = UserManager.getInstance();

Group grpJiraUser = userManager.getGroup(sGroup);

List<String> sUser = new ArrayList<String>(grpJiraUser.getUsers());

ArrayList<String> sCDCUsers = new ArrayList<String>();

Iterator<String> itUsers = sUser.iterator();

while (itUsers.hasNext()) {

String sUserName = (String) itUsers.next();

User usertoAct = userManager.getUser(sUserName);

String sUserEmail = usertoAct.getEmail();

if (sUserEmail.contains("@tibco-support.com")) {




if (ldapType.equalsIgnoreCase("PA")) {


return sUser;

} else

return sCDCUsers;


Suggest an answer

Log in or Sign up to answer
Community showcase
Published Feb 07, 2019 in Marketplace Apps

A Timeless Love Story

It started as any story starts, on a normal, rainy day.   Admin meets App, and her name was Klok2, and like any first relationship we were both trying to make it work but neither one knew what...

439 views 8 26
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you