Jenkins REST API:创建新的作业视图

时间:2018-09-01 09:51:26

标签: rest api jenkins

我正在使用Jenkins REST API来自动化我们的CI流程。 如果用户定义的视图不存在,则自动化管道中缺少的最后一件事就是创建视图。

到目前为止,我使用过:

  

jenkins_alias / createView?name =我的测试视图

但是它某种程度上是不完整的,并返回以下错误:

  

应定义视图类型

如何从RESTAPI定义此视图类型?我应该在网址中还是在请求正文中发送它?

谢谢

2 个答案:

答案 0 :(得分:1)

请以该请求为例:

curl -X POST -H 'Jenkins-Crumb:<JENKINS-CRUMB>' --form name=test --form mode=hudson.model.ListView --form json='{"name": "test", "mode": "hudson.model.ListView"}' https://<Jenkins-URL>/createView

查看类型:

  • ListView:hudson.model.ListView
  • 仪表板(如果已安装插件仪表板视图):hudson.plugins.view.dashboard.Dashboard
  • MyView:hudson.model.MyView

答案 1 :(得分:1)

对于每个this post,这显然是(a)使用REST API可能实现的,并且(b)无需引用任何奇怪的Hudson东西。

# create the view
curl -vvv -X POST -d @view.xml -H "Content-Type: text/xml" http://localhost:8080/createView?name=MyView

# get the configuration
curl http://localhost:8080/view/MyView/config.xml

# update the view
curl -X POST -d @view.xml -H "Content-Type: text/xml" http://localhost:8080/view/MyView/config.xml

偷取者-我认为这没有记录。根据{{​​3}},REST API所能做的就是:

  1. 从Jenkins检索信息以进行程序化消费
  2. 触发新版本
  3. 创建/复制作业