This is my goal i need to update the external database whenever a ticket is raise in jira.
Event has been triggered then script will run to update a table in MS SQL server . Anyone know how to do it or to put the jdbc for sql server in JIRA files?
note: Our Jira is in Mysql.
What plugin do you use from quering your database? Usually you put additional libraries to the lib folder of you Jira.
Hi alex,
I will use a groovy script runner.
import groovy.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
def sql = Sql.newInstance('jdbc:sqlserver://localhost:port;databaseName=dbName', 'username',
'password', 'com.microsoft.jdbc.sqlserver.SQLServerDriver')
sql.execute("INSERT INTO table(testcolumn) VALUES ('test value')");
sql.close()
and here is the error:
2018-03-09 14:37:48,323 WARN [common.UserScriptEndpoint]: Script console script failed: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver not found by com.onresolve.jira.groovy.groovyrunner [198] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532) at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955) at Script21.run(Script21.groovy:7)
My external db is MS SQL SERVER 2008 R2
and i use sqljdbc64.jar i place it under JIRA_HOME/lib directory
what was wrong with this?
Thank you,
Randy
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You need to put your driver into the lib folder of you Jira and restart your Jira.
Kindly have a look at the page on how to query databases from ScriptRunner:
https://scriptrunner.adaptavist.com/5.3.7/jira/recipes/misc/connecting-to-databases.html
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
i also tried that sample and it is still got the same error.
Im just curious where to put the driver is it in JIRA_HOME/lib? or maybe in different lib?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
As far as I understand you created the lib directory? I do not have access right now to Jira. But I think the lib folder is situated in the Jira_installation folder. It must be already available in your Jira instances. And there must be already drivers for some databases.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
No i didn't create a directory. sorry for the misunderstanding i just put the driver in the jira_installation lib directory
here is the driver where i download it:https://www.microsoft.com/en-us/download/details.aspx?id=56615
and the jar file in the extracted folder is the only file that i move to JIRA\lib
and here is my code for the scriptrunner sample
import groovy.sql.Sql
import java.sql.Driver
def driver = Class.forName('com.microsoft.jdbc.sqlserver.SQLServerDriver').newInstance() as Driver
def props = new Properties()
props.setProperty("user", "username")
props.setProperty("password", "password")
def conn = driver.connect("jdbc:sqlserver://localhost:port;databaseName=dbName", props)
def sql = new Sql(conn)
try {
sql.eachRow("select * from table_name") {
log.debug(it)
}
} finally {
sql.close()
conn.close()
}
and i got this error:
2018-03-09 15:17:54,946 WARN [common.UserScriptEndpoint]: Script console script failed: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver at Script33.run(Script33.groovy:4)
Thank you,
Randy
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Kindly read the following post
The lib folder in
C:\Program Files\Atlassian\JIRA\lib directory
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I already read that link but didnt see the bottom page. haha thanks bro now i have a different error but i think i can handle it now because i already know that the driver is now working.
Error
The TCP/IP connection to the host prot/dbname, port 1433 has failed. Error: "null. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.