Hi everyone,
can help me anyone?
I need upload image or other files to JIRA by REST API, but i cant use HttpPost method, because with this method i have problem with company proxy. I tryed this:
public void AddAttachment(String DefectId) throws IOException, JSONException {
String CHARSET = "UTF-8";
BufferedReader br = null;
Authorization();
String path = "C:\\somefile.txt";
File file = new File(path);
URL url = new URL(myServer + "/rest/api/2/issue/" + DefectId + "/attachments");
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy", 8080));
HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestProperty("Cookie", cookieValue);
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("X-Atlassian-Token", "nocheck");
System.out.println(conn.getResponseCode());
System.out.println(conn.getResponseMessage());
OutputStream outputStream = conn.getOutputStream();
PrintWriter writer = new PrintWriter(new OutputStreamWriter(outputStream, CHARSET), true);
try ( FileInputStream inputStream = new FileInputStream(file);) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.flush();
}
writer.flush();
if (200 <= conn.getResponseCode() && conn.getResponseCode() <= 299) {
br = new BufferedReader(new InputStreamReader(conn.getInputStream(),
"UTF-8"));
} else {
br = new BufferedReader(new InputStreamReader(conn.getErrorStream(),
"UTF-8"));
}
String lineOfResponse = "";
StringBuilder strBuild = new StringBuilder();
while ((lineOfResponse = br.readLine()) != null) {
strBuild.append(lineOfResponse);
}
String response = strBuild.toString();
System.out.println(response);
conn.disconnect();
br.close();
} I have problem how a can id file(image or document) to output stream.
Authorization(by Cookies) i have in other methods and working fine.