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

Hi,

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.

-Srinivas

1 answer

1 accepted

This widget could not be displayed.

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.");
        }
        else
        {
            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,

Srinivas

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")) {

sCDCUsers.add(sUserName);

}

}

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

sUser.removeAll(sCDCUsers);

return sUser;

} else

return sCDCUsers;

}

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Aug 22, 2018 in Marketplace Apps

How a Marketplace app tech team is achieving gender diversity

Hello! My name is Genevieve Blanch, and I'm the Marketing Manager at RefinedWiki, creators of apps to give teams the tools to customize Atlassian platforms. Currently, 44% of the tech team at Re...

509 views 3 18
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