Hi,
I'm trying to get git tag information for a ticket and surface that information for JQL queries using scriptrunner scripted fields. My JIRA instance has the add-on "git integration for JIRA" which provides an api to query the tags:
/rest/gitplugin/1.0/issuegitdetails/issue/{issueKey}/tag
I would like to be able to call this as a specific user on the system, but am not sure if this can be done within a scripted field.
What I have so far:
import org.apache.http.HttpResponse
import groovyx.net.http.ContentType
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.Method
def http = new HTTPBuilder("https://my-jira-test-system.com")
try {
http.get( path : "/rest/gitplugin/1.0/issuegitdetails/issue/${issue.key}/tag" ) { response, reader ->
assert response instanceof HttpResponse
log.warn "response status: ${response.statusLine}"
log.warn "body: ${reader}"
}
}
catch (e) {
log.warn e
}
return "git tags here"
How can I update the code above to call the api as a specific user?
Can I cache the result until an event is fired (a specific workflow transition)?
Thanks,
Matt
Hi Matt,
I would start with Adaptavists documentation on Jelly Migration that has a couple examples where users were authenticated in code.
Next, there are a couple Community posts where I have seen some examples in the past of using the user in the body request:
def body_req = [ "user": user, "jiraTicket":issueID, "route":"/resources/text", "targetLang":languagesCodes[targetLanguage], "reqText":textToTranslate ]
In addition, I have also seen an example in the post Solved: Unable to run a groovy script as a service using script runner:
To run as a script (that saved a a file) in JIRA serivce, you need to authenticate the user that's running the service:def AuthContext=ComponentAccessor.getJiraAuthenticationContext()
AuthContext.setLoggedInUser(user)Good thing is, you don't need to supply the user's password.
Take a look at both of the resources and see which one works for you.
Cheers,
Branden
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.