Get project key in HttpServlet

Miguel Ángel Pérez Montero August 18, 2017

Hi,

 

I have a web-item in section atl.jira.proj.config/projectgroup3 also I have a Servlet that implements my requirement. Now I need add in my velocity tag meta with the projectKey for example:

<meta name="projectKey" content="KEY" />

 

My problem is that I can't get projectKey form HttpServlet. I try with 

 

Any ideas??

 

I try with https://community.atlassian.com/t5/Answers-Developer-Questions/How-to-get-current-project-in-jira/qaq-p/479097 but doesn't work

5 answers

1 accepted

1 vote
Answer accepted
Aleksandr Zuevich
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.
August 21, 2017

I can't figure out why BrowseContext or JiraHelper injection doesn't work in this case (for example UserManager is injected ok in the servlet). But you can add query parameters to the web-item link inside atlassian-plugin.xml:

<link linkId="iq-propagate-component-link">/plugins/servlet/iq-propagate?pid=${helper.projectObject.id}&amp;key=${project.key}</link>
Miguel Ángel Pérez Montero August 21, 2017

Thank so much for your answer, now I have projectKey.

 

Best regards.

1 vote
Aleksandr Zuevich
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.
August 18, 2017

Have you correctly injected your BrowseContext?

I mean component-import in the atlassian-plugin.xml or @Inject and @ComponentImport annotations if you're using atlassian-spring-scanner?

<component-import key="browseContext" name="Browse Context Interface" interface="com.atlassian.jira.project.browse.BrowseContext

">

<description>Provides access to browse context</description>

</component-import>

0 votes
Miguel Ángel Pérez Montero August 18, 2017

In the log show the below:

 

never resolved service '&browseContext' with filter '(&(objectClass=com.atlassian.jira.project.browse.BrowseContext)(objectClass=com.atlassian.jira.project.browse.BrowseContext))'

 

I'm using atlassian-spring-scanner:

@Scanned
public class ComponentSyncAdmin extends HttpServlet {

@ComponentImport
private final BrowseContext browserContext;

private final ComponentSyncService componentSyncService;
private static final Logger log = LoggerFactory.getLogger(ComponentSyncAdmin.class);

@Inject
public ComponentSyncAdmin(ComponentSyncService componentSyncService, BrowseContext browserContext) {
this.componentSyncService = checkNotNull(componentSyncService);
this.browserContext = checkNotNull(browserContext);

}

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {


Project project = browserContext.getProject();

.
.
.
.

I have a mistake using ComponentImport?

 

Best regards

Miguel Ángel Pérez Montero August 18, 2017

I add defintion web item

 

<!-- Link in tab panel project's administrator -->
<web-item key="iq-propagate-component" name="Propagate Component"
section="atl.jira.proj.config/projectgroup3" weight="200">
<description key="iq-propagte-component-desc">Configure propagate</description>
<label key="Propagate Component" />
<link linkId="iq-propagate-component-link">/plugins/servlet/iq-propagate</link>
</web-item>
Miguel Ángel Pérez Montero August 21, 2017

Í add too my servlet definition:

 <!-- Servlet to management plugin -->
<servlet name="Issue CRUD" i18n-name-key="issue-crud.name" key="issue-crud"
class="com.inlogiq.jira.plugins.admin.ComponentSyncAdmin">
<description key="issue-crud.description">The Issue CRUD Plugin</description>
<url-pattern>/iq-propagate</url-pattern>
</servlet>
0 votes
Miguel Ángel Pérez Montero August 18, 2017

Hi Aleksandr,

 

Thanks for your reply :)

 

My problem is that I don,'t have clase or method which get project key.

I try with projectService but don't have method for my problem, also I try with BrowseContext but If I try add in my contructor is null in my Servlet

 

Best regards

0 votes
Aleksandr Zuevich
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.
August 18, 2017

Hi,

what exactly doesn't work? Do you have any errors, e.g. NullPointerException? How is your servlet described in the atlassian-plugin.xml?

Suggest an answer

Log in or Sign up to answer