Hey Ivan -- Do you have any examples of calling this object? I can't get it to work in Jira's script runner for example.
This seems to get me the info I want in Script Runner (still playing with it -- but the raw data of the nodes and their state get returned)
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.cluster.ClusterManager
def componentAccessor = ComponentAccessor.newInstance()
def clusterManager = componentAccessor.getOSGiComponentInstanceOfType(ClusterManager.class)
def clusterInfo = clusterManager.getAllNodes()
And this will get the same info via rest endpoint. Just add '/rest/scriptrunner/latest/custom/getClusterStatus' to the end of your base url. It may need some polish -- it works, but I am not super strong in java/groovy.
import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import groovy.json.JsonBuilder
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.cluster.ClusterManager
import groovy.transform.BaseScript
import javax.ws.rs.core.MultivaluedMap
import javax.ws.rs.core.Response
def componentAccessor = ComponentAccessor.newInstance()
def clusterManager = componentAccessor.getOSGiComponentInstanceOfType(ClusterManager.class)
Set clusterInfo = clusterManager.getAllNodes()
@BaseScript CustomEndpointDelegate delegate
getSessionCount(httpMethod: "GET") { MultivaluedMap queryParams, String body ->
return Response.ok(new JsonBuilder([clusterInfo]).toString()).build();
}
Documentation can be found at the Adaptavist site here: https://scriptrunner.adaptavist.com/latest/jira/rest-endpoints.html
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.