我能够触发作业,但是由于某种原因文件没有上传到jenkins工作区。如果我尝试从jenkins手动运行,则运行正常。 我在下面尝试过
1)
RestAssured.given()
.auth().basic("USERNAME", "PASSWORD")
//.contentType(ContentType.URLENC)
.when()
.post("https://JENKINS_HOST/hudson/job/RISTSA/job/JOB_NAME/buildWithParameters" + "?file=C:/PATH_TO_FILE/SOMETHING.json&JenkinsStringParamName=test")
.then()
.statusCode(201);
2)
RestAssured.given().log().all()
.contentType(ContentType.URLENC)
.auth().basic("USERNAME", "PASSWORD")
//.headers(httpHeaders("USERNAME", "PASSWORD"))
.formParam("file0", "C:/PATH_TO_FILE/SOMETHING.json")
.formParam("json", "{\"parameter\":[{\"name\":\"JenkinsFileParamName\",\"file\":\"file0\"},{\"name\":\JenkinsStringParamName\",\"value\":\"test\"}]}")
.when()
.post("https://JENKINS_HOST/hudson/job/RISTSA/job/JOB_NAME/buildWithParameters")
.then()
.statusCode(201);
我已经尝试从官方网址中编写此代码,该网址在jenkins docs上有一个curl引用
感谢您的帮助。
答案 0 :(得分:0)
如果您要上传文件,则应该使用分段
RestAssured.given().
multiPart("file2", new File("C:/PATH_TO_FILE/SOMETHING.json")).
formParam("name", "value").
when().
post("https://JENKINS_HOST/hudson/job/RISTSA/job/JOB_NAME/buildWithParameters").
then().
statusCode(201);