Hello ,
We are trying to do integration between JIRA to PPM. So we need to push data to JIRA through REST Api. I am trying to call get method of JIRA.
JIRA get request Api :
https://example.com/rest/api/2/issue/12345
I am trying to call the above GET request through gel script. But i am not getting any response from url connect method. I am using Basic Auth method for authorization. I have tried same url connection method through JAVA i am able to get response but same is not working through gel script. Please suggest how to connect to JIRA through Rest API
Please find gel script code which i am using in gel process
<gel:script
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:core="jelly:core"
xmlns:gel="jelly:com.niku.union.gel.GELTagLibrary"
xmlns:sql="jelly:sql"
xmlns:xog="http://www.niku.com/xog"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="jelly:util">
<core:invokeStatic className="java.lang.System" method="currentTimeMillis" var="milStart00"/>
<core:invokeStatic className="com.niku.union.config.ConfigurationManager" method="getInstance" var="thisClarityConfig"/>
<core:set value="${thisClarityConfig.getVersionProperty('version')}" var="ClarityVersion"/>
<core:set value="${thisClarityConfig.getProperties().getWebServer().getWebServerInstance(0).getEntryUrl()}" var="AppEntryUrl"/>
<core:set value="${thisClarityConfig.getProperties().getWebServer().getWebServerInstance(0).getContext()}" var="AppContext"/>
<core:set value="https://Example.com/rest/api/2/issue" var="ClarityRestUrl"/>
<core:invoke method="getProperties" on="${thisClarityConfig}" var="property"/>
<core:invoke method="getMailServer" on="${property}" var="mailserver"/>
<core:invoke method="getUsername" on="${mailserver}" var="mailsender"/>
<gel:parameter default="true" var="DebugParameter"/>
<gel:parameter default="admin" var="cl_UserName"/>
<gel:parameter default="password" var="cl_UserPassword"/>
<core:if test="${cl_UserPassword==null}">
<gel:log level="ERROR">No Password set for user ${cl_UserName}</gel:log>
</core:if>
<core:invokeStatic var="base64" className="com.niku.union.utility.Base64" method="encode">
<core:arg type="java.lang.String" value="${cl_UserName}:${cl_UserPassword}" />
</core:invokeStatic>
<core:set var="basicAuth" value="Basic ${base64}"/>
<gel:persist scope="INSTANCE" var="ClarityBaseUrl">${ClarityBaseUrl}</gel:persist>
<gel:persist scope="INSTANCE" var="ClarityRestUrl">${ClarityRestUrl}</gel:persist>
<gel:persist scope="INSTANCE" var="cl_UserName">${cl_UserName}</gel:persist>
<gel:persist scope="INSTANCE" var="cl_UserPassword">${cl_UserPassword}</gel:persist>
<gel:persist scope="INSTANCE" var="mailsender">${mailsender}</gel:persist>
<gel:persist scope="INSTANCE" var="ClarityVersion">${ClarityVersion}</gel:persist>
<gel:persist scope="INSTANCE" var="basicAuth">${basicAuth}</gel:persist>
<core:if test="${DebugParameter}">
<gel:log level="INFO">Clarity Parameter's </gel:log>
<gel:log level="INFO">ClarityBaseUrl : ${ClarityBaseUrl} </gel:log>
<gel:log level="INFO">ClarityRestUrl : ${ClarityRestUrl}</gel:log>
<gel:log level="INFO">cl_UserName : ${cl_UserName}</gel:log>
<gel:log level="INFO">mailsender : ${mailsender}</gel:log>
<gel:log level="INFO">ClarityVersion : ${ClarityVersion}</gel:log>
<gel:log level="INFO">basicAuth : ${basicAuth}</gel:log>
</core:if>
<gel:parameter default="12345" var="cl_ProjectInternalId"/>
<gel:parameter default="true" var="DebugClarity"/>
<core:catch var="SuperException">
<core:invokeStatic className="java.lang.System" method="currentTimeMillis" var="milStart00"/>
<gel:log>
<![CDATA[************ Clarity Project Information Extraction started *********]]>
</gel:log>
<core:if test="${DebugClarity}">
<gel:log/>
<gel:log>Basic Auth Encoded 64: ${basicAuth}</gel:log>
</core:if>
<core:set var="httpRESTURL">${ClarityRestUrl}/${cl_ProjectInternalId}</core:set>
<core:if test="${DebugClarity}">
<gel:log/>
<gel:log>httpRESTURL: ${httpRESTURL}</gel:log>
</core:if>
<core:new className="java.net.URL" var="remoteURL" >
<core:arg type="java.lang.String" value="${httpRESTURL}" />
</core:new>
<core:set var="ClarityConnection" value="${remoteURL.openConnection()}"/>
<core:expr value="${ClarityConnection.setDoOutput(true)}" />
<core:expr value="${ClarityConnection.setDoInput(true)}" />
<core:expr value="${ClarityConnection.setConnectTimeout(180000)}" />
<core:expr value="${ClarityConnection.setReadTimeout(180000)}" />
<core:expr value='${ClarityConnection.setRequestMethod("GET")}'/>
<core:expr value='${ClarityConnection.setRequestProperty("Content-type", "application/json")}'/>
<core:expr value='${ClarityConnection.setRequestProperty("Accept", "application/json")}'/>
<core:expr value='${ClarityConnection.setRequestProperty("cache-control", "no-cache")}'/>
<core:expr value='${ClarityConnection.setRequestProperty("Authorization", basicAuth)}'/>
<core:set var="void" value="${ClarityConnection.connect()}"/>
<core:if test="${DebugClarity}">
<gel:log>Connection Established: ${void}</gel:log>
</core:if>
<core:set var="CL_isAuthenticated" value="${ClarityConnection.getHeaderField(0)}" />
<core:set var="response_msg" value="${ClarityConnection.getResponseMessage()}" />
<core:set var="response_code" value="${ClarityConnection.getResponseCode()}" />
<core:if test="${DebugClarity}">
<gel:log>Clarity isAuthenticated: ${CL_isAuthenticated}</gel:log>
<gel:log>Response Msg : ${response_msg}</gel:log>
<gel:log>Response Code : ${response_code}</gel:log>
</core:if>
<core:if test="${CL_isAuthenticated=='HTTP/1.1 200 OK'}">
<core:set var="httpInputStream1" value="${ClarityConnection.getInputStream()}" />
<core:new className="java.io.InputStreamReader" var="v_Input1">
<core:arg type="java.io.InputStream" value="${httpInputStream1}"/>
</core:new>
<core:new className="java.io.BufferedReader" var="v_InputData1">
<core:arg type="java.io.InputStreamReader" value="${v_Input1}"/>
</core:new>
<core:set value="${v_InputData1.readLine()}" var="ClarityProjectInfo"/>
<core:if test="${DebugClarity}">
<gel:log>httpData: ${ClarityProjectInfo}</gel:log>
</core:if>
<core:set var="void" value="${httpInputStream1.close()}" />
<core:new className="org.json.JSONObject" var="J_ClarityPrjInfo">
<core:arg type="java.lang.String" value="${ClarityProjectInfo}" />
</core:new>
<core:if test="${DebugClarity}">
<gel:log>JSON Output: ${J_ClarityPrjInfo}</gel:log>
</core:if>
</core:if>
<core:if test="${CL_isAuthenticated!='HTTP/1.1 200 OK'}">
<gel:log>
<![CDATA[************ Error while reading Project Information *********]]>
</gel:log>
</core:if>
</core:catch>
<core:if test="${SuperException!=null}">
<gel:log>Super Exception - ${SuperException}</gel:log>
</core:if>
</gel:script>
In the above gel script the variable "${CL_isAuthenticated}" is blank. I am not getting any response. Please suggest.
Thanks,
Suhas