Hi! I'm using Automation and Smart Value in Jira Data center. I'm running an automation in a branch for a related issue of the trigger issue, and I want to go through all the related issues of the trigger issue and comparing a specific field value to a value of another field of the branch issue. So far I'm able to go through to list of the trigger issue related issues, but I can only compare it with a given string, and I don't know if its possible to refer to the branch issue field.
This is what I got working:
{{#triggerIssue.issuelinks.outwardIssue}}
{{equals(customfield_10600, "0010")}}
{{/}}Instead of using the given string "0010", I wanted to use a value from a field of the branch issue, I know I can refer to it using "issue.customfield_10601", but I can't use it inside the trigger issue list since it would be out of context. Is there any syntax that would work for this case?
Thanks!
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.