0

我能够触发工作,但由于某种原因文件没有上传到詹金斯工作区。如果我从詹金斯工作中手动尝试运行正常。我在下面尝试过-

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 文档上有一个 curl 参考

任何帮助表示赞赏。

4

1 回答 1

0

如果您要上传文件,那么您应该使用 multipart

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);
于 2018-09-28T16:46:53.143 回答