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
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.
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")
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.