Hi Atlassian Team,
Good Afternoon.
I have developed a custom Rest API plugin using Atlassian SDK. I was able to execute Hellow World Rest Plugin. But I am getting 404 error if I inject the following JIRA API Classes to my Rest Class.
a) com.seic.ims.jira.plugins.components.IssueServiceImpl
b) com.atlassian.jira.bc.issue.search.SearchService
c) com.atlassian.sal.api.user.UserManager
HTTP Error Response:
HTTP Status 404 - NoOpServlet received an unexpected request. More information is available in the log file.
Please find my current JIRA properties in POM xml below.
<properties>
<platform.version>3.0.0</platform.version>
<refapp.version>4.0.0</refapp.version>
<jira.version>6.3.7</jira.version>
<amps.version>6.2.1</amps.version>
<plugin.testrunner.version>1.2.3</plugin.testrunner.version>
<atlassian.spring.scanner.version>1.2.6</atlassian.spring.scanner.version>
<!-- This key is used to keep the consistency between the key in atlassian-plugin.xml and the key to generate bundle. -->
<atlassian.plugin.key>${project.groupId}.${project.artifactId}</atlassian.plugin.key>
</properties>
I have configured these dependencies as like below.
atlassian-plugin.xml
----------------------------
<component-import key="projectService" interface="com.atlassian.jira.bc.project.ProjectService" filter=""/>
<component-import key="issueService" interface="com.atlassian.jira.bc.issue.IssueService" filter=""/>
<component-import key="searchService" interface="com.atlassian.jira.bc.issue.search.SearchService" filter=""/>
<component-import key="userManager" interface="com.atlassian.sal.api.user.UserManager" filter=""/>
My Rest Resource Class:
@Path("/message")
public class JiraIssueRest {
private static Logger logger = LoggerFactory.getLogger(JiraIssueRest.class);
@ComponentImport
private IssueService issueService;
@ComponentImport
private ProjectService projectService;
@ComponentImport
private SearchService searchService;
@ComponentImport
private UserManager userManager;
public JiraIssueRest() {
}
@Inject
public JiraIssueRest(IssueService issueService,ProjectService projectService,SearchService searchService,UserManager userManager){
this.issueService = issueService;
this.projectService = projectService;
this.searchService = searchService;
this.userManager = userManager;
}
@GET
@AnonymousAllowed
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response getMessage()
{
logger.debug("Entering getMessage()");
return Response.ok(new JiraIssueRestModel(("Muzeeb, Is this is your first plugin ? "))).build();
}
}
Thank you In Advance.
Regards
Muzeeb Mohammed