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