From grasshopper to software API

Hi.

  1. I made a plugin which uses the grasshopper plugin. It seems to have stopped working in Jira 7.3. I have read that one should now use the software api instead. Can you provide me to an example how to use the software api from within a plugin? Or maybe to an migration example from grasshopper to the software API?

Here is an example of code based on grasshopper. How would I implement that via software api?

           SprintCustomFieldService sprintCustomFieldService = getSprintCustomFieldService();

           if (sprintCustomFieldService != null) {
              CustomField customFieldObject = sprintCustomFieldService.getDefaultSprintField();
              Object customFieldValue = issue.getCustomFieldValue(customFieldObject);
              if ((customFieldValue != null) && ((customFieldValue instanceof ArrayList))) {
                 ArrayList sprintArrayList = (ArrayList) customFieldValue;
                 if (sprintArrayList.size() > 0) {
                    String result = "";
                    Sprint sprint = null;

                    for (int i = 0; i < sprintArrayList.size() - 1; i++) {
                       sprint = (Sprint) sprintArrayList.get(i);
                       result = result + sprint.getName() + ";";
                    }

                    sprint = (Sprint) sprintArrayList.get(sprintArrayList.size() - 1);

                    sprintObjNode.put("name", sprint.getName());
                    sprintObjNode.put("id", sprint.getId());
                 }
              }
           }
  1. Is there a live chat for jira developers somewhere? Something like Slack?

It’s the same api (for the most part). Atlassian Marketing and Business people got involved and wrapped a bunch of plugins into one…

What errors are you getting?

So there is no way to get the information via a library, only via rest now?

Currently I am unable to start the plugin.

Unable to resolve 169.0: missing requirement [169.0] osgi.wiring.package; (osgi.wiring.package=bsh)
[c.a.activeobjects.osgi.ActiveObjectsServiceFactory] getService bundle [com.atlassian.plugins.authentication.atlassian-authentication-plugin]

Your error doesn’t seem to have anything to do with the Grasshopper/Agile/Software API. What changes have you made to your plugin to make it work on 7.3.1?

Which version of JIRA did you upgrade from? I think that you’re running into the osgi/spring upgrade in JIRA 7.0. Take a look at https://developer.atlassian.com/server/jira/platform/preparing-for-jira-7-0/

2 Likes