1

Below is the code that i use, Not sure if I am doing anything wrong and Kind of stuck in here..

try { // Object jsonMessage = arg0.getMessage().getPayload();

        URL url = new URL("https://jira.mycomp.com/rest/api/latest/issue");

        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

        BASE64Encoder enc = new sun.misc.BASE64Encoder();
        String userpassword = "uname" + ":" + "pwd";
        String encodedAuthorization = enc.encode(userpassword.getBytes());
        conn.setDoOutput(true);
        conn.setDoInput(true);
        conn.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
        //conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");

        conn.setRequestMethod("GET");

        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
        wr.write("JIRA-ID");
        wr.flush();

        StringBuilder sb = new StringBuilder();
        int HttpResult = conn.getResponseCode();
        if (HttpResult == HttpsURLConnection.HTTP_OK) {
            BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
            String line = null;
            while ((line = br.readLine()) != null) {
                sb.append(line + "\n");
            }
            br.close();
            System.out.println("" + sb.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }catch(IOException e){
        e.printStackTrace();
    }
    catch(Exception e){
        e.printStackTrace();
    }
}

and getting the below exception

java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173) at sun.net.NetworkClient.doConnect(NetworkClient.java:180) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) at sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:264) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1105) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1283) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1258) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)

Prabhu
  • 129
  • 1
  • 1
  • 9

1 Answers1

1

Instead of using the HttpURLConnection, you could very well use Spring's RestTemplate to create your own REST client to invoke JIRA REST APIs. You can refer my sample code from another answer on StackOverflow.

Java Program to fetch custom/default fields of issues in JIRA

Hope this helps in answering your question through a different approach altogether. Please provide me with any feedback that you have on my code (I would like to develop this even further).

N00b Pr0grammer
  • 4,503
  • 5
  • 32
  • 46
  • Thanks for your response, I appreciate. – Prabhu Apr 23 '18 at 14:36
  • @devvent, were you able to get my program for your needs? Did that help you solve your problem? – N00b Pr0grammer Apr 26 '18 at 13:30
  • Your code looks correct, but didnt work me. I am probably behind a proxy server that stops connections to JIRA rest api. Wondering should it always work through code, if it works in postman. Please advise. – Prabhu Apr 26 '18 at 17:18