Local Database Connection
Local database connections connect to the current database your Atlassian application is using.
Tip: Where possible, you should always use an application's API to retrieve data rather than its database.
To set up a local database connection and make the local database (the one that your Atlassian application is using) available to scripts, follow these steps:
Use database resources in scripts
Having set up a local connection, you can use it in a script as follows:
import com.onresolve.scriptrunner.db.DatabaseUtil
DatabaseUtil.withSql('local') { sql ->
sql.rows('select * from spaces')
}DatabaseUtil.withSql takes two arguments:
- The name of the connection as defined by you in the Pool Name parameter when adding the connection (in this example, local),
- A closure. The closure receives an initialized
groovy.lang.Sqlobject as an argument. See executing SQL for more information on executing queries. The benefit of using a closure is that it returns the connection to the pool after execution.
The withSql method returns whatever the closure returns, so as another example, you could get the number of spaces using:
import com.onresolve.scriptrunner.db.DatabaseUtil
DatabaseUtil.withSql('local') { sql ->
sql.firstRow('select count(*) from spaces')[0]
}