It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How do I import Confluence classes into JIRA ScriptRunner?

Eric Dierkens Aug 02, 2017

Whewnever I try to include and import classes for Confleunce, they are not recognized. The following statements are not recogized when using ScriptRunner for JIRA. I want to update a Confleuce page from JIRA.

import com.atlassian.confluence.pages.Page
import com.atlassian.confluence.pages.PageManager
import com.atlassian.confluence.core.DefaultSaveContext

 

1 answer

1 accepted

0 votes
Answer accepted
Nic Brough [Adaptavist] Community Leader Aug 02, 2017

That's because the stuff you are trying to import in JIRA is not there.  JIRA doesn't need Confluence libraries because it's not Confluence.

To update a Confluence page from JIRA, write scripts that use the REST interface to update Confluence remotely.

Eric Dierkens Aug 03, 2017

Thanks. I've written the REST portion to get the info. Now just need to figure out how to enable the script event. For some reason it's not firing.

log.info("eWebRequest Form Event Fired")   import com.atlassian.confluence.event.events.content.page.PageEvent import com.atlassian.confluence.spaces.Space import com.atlassian.confluence.pages.Page   def event = event as PageEvent   Page page = event.getPage() Space space = page.getSpace()   if (page.getSpace() != 'eWebProjects') {     log.info("eWebRequest Form Event  - 1")     return }   // Is the page-type eWebRequest? import com.atlassian.applinks.api.ApplicationLink import com.atlassian.applinks.api.ApplicationLinkService import com.atlassian.applinks.api.application.confluence.ConfluenceApplicationType import com.atlassian.sal.api.component.ComponentLocator import com.atlassian.sal.api.net.Request import com.atlassian.sal.api.net.Response import com.atlassian.sal.api.net.ResponseException import com.atlassian.sal.api.net.ResponseHandler import com.atlassian.sal.api.net.ReturningResponseHandler import groovy.json.JsonBuilder   //import com.atlassian.confluence.pages.CommentManager   def ApplicationLink getPrimaryConfluenceLink() {     def applicationLinkService = ComponentLocator.getComponent(ApplicationLinkService.class)     final ApplicationLink conflLink = applicationLinkService.getPrimaryApplicationLink(ConfluenceApplicationType.class);     conflLink }   def confluenceLink = getPrimaryConfluenceLink() assert confluenceLink // must have a working app link set up   def authenticatedRequestFactory = confluenceLink.createAuthenticatedRequestFactory()   // Get create content response body as a map def contentResponse = authenticatedRequestFactory         .createRequest(Request.MethodType.POST, "rest/api/content/" + page.id + "/page-type?")         .addHeader("Content-Type", "application/json")         .executeAndReturn(new ReturningResponseHandler<Response, Map>(){     @Override     Map handle(Response response) throws ResponseException {         if (response.statusCode == HttpURLConnection.HTTP_NOT_FOUND)         {             log.info("eWebRequest Form Event  - 2")             return         }                 if (response.statusCode != HttpURLConnection.HTTP_OK) {             log.info("eWebRequest Form Event  - 3")             throw new Exception("Get page-type failed: " + response.getResponseBodyAsString())         }           return response.getEntity(Map)     } })   if (contentResponse.value != 'eWebRequest') {     log.info("eWebRequest Form Event  - 4")     return }   // TESTING ONLY log.info("eWebRequest Form Event Success")

Suggest an answer

Log in or Sign up to answer
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Published in Marketplace Apps & Integrations

Join our webinar: “Asset Management: The Role of Context in ITSM” with Atlassian & Riada

  Hi Atlassian Community! This is Teresa from the Jira Service Desk team. On June 19th, I’ll be hosting a webinar “Asset Management: The Role of Context in ITSM” with Atlassian Partne...

141 views 1 3
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you