1
Jenkins의 나머지 API를 사용하여 Jenkins URL에 연결할 수 없지만 Jenkins의 나머지 API를 사용하여 작업 구성을 변경하려고합니다.Rest API를 사용하여 Jenkins 작업 구성을 업데이트하는 중 오류가 발생했습니다.
젠킨스를 다시 시작하지 않고 내 작업을 업데이트 할 수 있도록 변경 사항을 제안 해주십시오. 젠킨스 2.19.4를 사용하고 있습니다. jenkins config.xml에 연결하는 것을 방해하는 jenkins 설정이 있습니까? 아니면 Java 코드에 문제가 있습니까?
try
{
String fileDir = "D:\\"; // upload directory
String fileName = "config.xml";
URL url = new URL("http://myjenkins/job/test/config.xml"); // Jenkins URL localhost:8080, job named 'test'
String user = "username"; // username
String pass = "password"; // password or API token
String authStr = user +":"+ pass;
String encoding = DatatypeConverter.printBase64Binary(authStr.getBytes("utf-8"));
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setReadTimeout(10000);
connection.setConnectTimeout(15000);
connection.setRequestMethod("POST");
connection.setUseCaches(false);
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestProperty ("Authorization", "Basic " + encoding);
try
{
String filePath = "D:\\config.xml";
FileInputStream inputStream = new FileInputStream(new File(filePath));
FileReader fr = new FileReader(new File(filePath));
BufferedReader br = new BufferedReader(fr);
String sCurrentLine;
System.out.println(sCurrentLine = br.readLine());
OutputStream os = connection.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
while ((sCurrentLine = br.readLine()) != null) {
//System.out.println("not going inside!!!!");
writer.write(sCurrentLine);
System.out.println(sCurrentLine);
}
writer.flush();
writer.close();
os.close();
int responseCode=connection.getResponseCode();
System.out.println(responseCode);
}
catch(Exception e)
{
e.printStackTrace();
}
}
catch(Exception e)
{
e.printStackTrace();
}
무엇이 오류입니까? – Arran
java.io 예외가있는 403 http 응답을 수신 중입니다. –
403은 서버가 요청을 이해했지만 권한 부여를 거부 함을 나타냅니다. 사용자/암호가 올바른지 확인하고 예상 인코딩 –