I have next Custom Service:
import com.atlassian.configurable.ObjectConfiguration; import com.atlassian.configurable.ObjectConfigurationException; import com.atlassian.jira.exception.CreateException; import com.atlassian.jira.service.AbstractService; import com.opensymphony.module.propertyset.PropertySet; import com.opensymphony.user.EntityNotFoundException; import com.vanderlande.jira.writer.action.CreateIssue; public class WriterService extends AbstractService{ public static final String SERVICECONF = "WriterService"; private String serviceConf; String ipAddr= " [ip:?]"; CreateIssue createIssue; public WriterService() { } @Override public void init(PropertySet props) throws ObjectConfigurationException { super.init(props); try { createIssue = new CreateIssue(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if (hasProperty(SERVICECONF)) { serviceConf = getProperty(SERVICECONF); } else { serviceConf = "WRITER HAS NO PROPERTY!"; } } @Override public void run() { System.out.println("Running the Jira Writer service!!" + serviceConf); try { createIssue.createNewIssue(); } catch (CreateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (EntityNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("MESSEGA IS SENDED"); } @Override public void destroy() { System.out.println("Let me do this before destory!"); super.destroy(); } public ObjectConfiguration getObjectConfiguration() throws ObjectConfigurationException { return getObjectConfiguration("MYNEWSERVICE", "com/vanderlande/jira/writer/service/JIRAWriterService.xml", null); }
AND MY CREATE ISSUE CLASS
public class CreateIssue { public CreateIssue(){ } public void createNewIssue() throws EntityNotFoundException, CreateException{ IssueFactory issueFactory = ComponentManager.getInstance().getIssueFactory(); MutableIssue issueObject = issueFactory.getIssue(); IssueManager issueManager = ComponentManager.getInstance().getIssueManager(); ProjectManager projectManager = ComponentManager.getInstance().getProjectManager(); ConstantsManager constantsManager = ComponentManager.getInstance().getConstantsManager(); VersionManager versionManager = ComponentManager.getInstance().getVersionManager(); ProjectComponentManager projectComponentManager= ComponentManager.getInstance().getProjectComponentManager(); // Regular Fields issueObject.setProjectId(new Long(10000)); issueObject.setIssueTypeId("1"); issueObject.setSummary("Test Issue"); issueObject.setReporter(UserUtils.getUser("admin")); issueObject.setAssignee(UserUtils.getUser("admin")); issueObject.setPriority((GenericValue) constantsManager.getPriorityObject("1")); issueObject.setDescription("Test description"); //issueObject.setAffectedVersions(EasyList.build(versionManager.getVersion(new Long(10000)), versionManager.getVersion(new Long(10001)))); //issueObject.setFixVersions(EasyList.build(versionManager.getVersion(new Long(10002)))); //issueObject.setComponents(EasyList.build(projectComponentManager.find(new Long(10000)), projectComponentManager.find(new Long(10000)))); Map params = new HashMap(); params.put("issue", issueObject); GenericValue issue = issueManager.createIssue( ComponentManager.getInstance().getJiraAuthenticationContext().getUser(), params); /* Long l = event.issue.getProjectObject().getId(); log.debug ("project id: ${s} and ${l}"); ProjectComponentManager pcm = ComponentAccessor.getProjectComponentManager(); ProjectComponent projectComponent = pcm.findByComponentName (l, s)*/; }
WHEN I NSTALL PLUGIN AS SERVICE, I GET NEXT ERROR:
com/opensymphony/user/EntityNotFoundException
Could not find what you were looking for. Maybe you should raise an issue
java.lang.NoClassDefFoundError: com/opensymphony/user/EntityNotFoundException
Which version of JIRA is it? OpenSymphony classes are not available in the later JIRA versions. Start by removing the EntityNotFoundException from throws clause.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.