Hi Team,
I am a Jira Admin, don’t have any development or REST API idea. I need your help to integrate the Jira and Remedy application through REST API.
Both applications are running on their own servers and both servers are communication to each others.
How to write the Authentication based REST End Point in Jira to get the Incidents or Request from Remedy to Jira.
We have ScriptRunner plugin.
I have a seen a [KB|https://docs.adaptavist.com/sr4js/latest/features/behaviours/behaviours-examples/select-list-conversions] from ScriptRunner but don’t know how to change the script and pass the credentials or token here:
import
com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import
groovy.json.JsonBuilder
import
groovy.json.JsonOutput
import
groovy.transform.BaseScript
import
groovyx.net.http.ContentType
import
groovyx.net.http.HTTPBuilder
import
groovyx.net.http.Method
import
javax.ws.rs.core.MultivaluedMap
import
javax.ws.rs.core.Response
@BaseScript CustomEndpointDelegate delegate
githubRepoQuery(httpMethod:
"GET"
) { MultivaluedMap queryParams ->
// <1>
def
query = queryParams.getFirst(
"query"
)
as
String
def
rt = [:]
if
(query) {
def
httpBuilder =
new
HTTPBuilder(
"https://api.github.com"
)
def
repos = httpBuilder.request(Method.GET, ContentType.JSON) {
uri.path =
"/search/repositories"
uri.query = [q:
"$query in:name"
,
sort
:
"stars"
, order:
"desc"
]
headers.
"User-Agent"
=
"My JIRA"
// <2>
response.failure = { resp, reader ->
log.warn(
"Failed to query GitHub API: "
+ reader.text)
return
Response.serverError().build()
}
}
rt = [
items : repos[
"items"
].
collect
{ Map repo ->
def
repoName = repo.
"full_name"
[
value: repoName,
html : repoName.replaceAll(/(?i)$query/) {
"<b>${it}</b>"
}
// <3>
+
"<span style=\"float: right\">${repo['stargazers_count']} ⭐</span>"
,
label: repoName,
icon : repo.owner?.
"avatar_url"
,
]
},
total : repos[
"total_count"
],
footer:
"Choose repo... (${repos["
items
"].size()} of ${repos["
total_count
"]} shown...)"
]
}
return
Response.ok(
new
JsonBuilder(rt).toString()).build()
`}
Please help me to get it done.
Thanks,
Manzoor Alam