/
ScriptRunner Integration
ScriptRunner Integration
Introduction
To access the Lookup Manager public API in ScriptRunner, the user need to add these two annotations
@WithPlugin(pluginKey) which makes the service class available to the script
@PluginModule to inject instance of the module into script
Public APIs
Sample code
import com.onresolve.scriptrunner.runner.customisers.PluginModule
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import com.akelesconsulting.jira.plugins.rest.LookupService
import org.apache.log4j.Logger
import org.apache.log4j.Level
import groovy.json.JsonSlurper
@WithPlugin("com.akelesconsulting.jira.plugins.LookupManager")
@PluginModule
LookupService lookupService
def log = Logger.getLogger("LookupManager")
log.setLevel(Level.DEBUG)
log.debug("***** Get table list *****")
def tableListText = lookupService.getTableList()
def tableListArray = new JsonSlurper().parseText( tableListText )
tableListArray.each { log.debug it }
log.debug("***** Get table id by name *****")
int tableId = lookupService.getTableIdByName("Project Category Table")
log.debug("Table id: " + tableId)
log.debug("***** Get table information ****")
def table = tableListArray.find {table -> table.name.equals("Project Category Table")}
log.debug("Table information: " + table)
log.debug("***** Get column information*****")
def columns = table.columns
log.debug("Column information: " + columns)
log.debug("***** Execute lookup to get matching values *****")
def matchingValuesArray = lookupService.lookup(tableId, "Category", "BUSINESS", "Project Key")
matchingValuesArray.each { log.debug it }
log.debug("***** Get table entries by table id *****")
def tableEntriesText = lookupService.getTableEntriesById(tableId)
def tableEntriesArray = new JsonSlurper().parseText( tableEntriesText )
tableEntriesArray.each { log.debug it }
More Examples
Related content
Access Lookup Table in ScriptRunner
Access Lookup Table in ScriptRunner
More like this
How to add a new row to Lookup Manager via ScriptRunner
How to add a new row to Lookup Manager via ScriptRunner
More like this
How to import a table into Lookup Manager via ScriptRunner
How to import a table into Lookup Manager via ScriptRunner
More like this
How to append values to multi-select fields
How to append values to multi-select fields
More like this
How to identify the workflows that are using Lookup Manager
How to identify the workflows that are using Lookup Manager
More like this
How to use Issue Properties in ScriptRunner Groovy scripts
How to use Issue Properties in ScriptRunner Groovy scripts
More like this