我开发了一个插件,它的扩展点来自ListViewColumn但是现在我在将它与另一个插件Nested View Plugin组合时遇到了问题。
我的插件可让您在当前视图中选择作业,并按一下按钮即可进行修改。但是当一个视图驻留在嵌套视图中时,我找不到该视图(来自我的java代码和果冻脚本),并且不能进行任何修改。在columnHeader.jelly中我执行
${it.getHeaderText(view.name)}
其中getHeaderText()
定义为
public String getHeaderText(String viewName) {
Hudson.getInstance().getView(viewName);
// access all jobs from the return object of .getView(viewName)
return viewName;
}
这适用于常规列表视图,但每当我输入嵌套视图的列表视图时,getView(viewName)
都会返回null。
经过进一步调查后,我注意到调用
时会出现嵌套视图Hudson.getInstance().getViews();
仅返回整个Jenkins实例的顶层中的视图(嵌套视图中没有视图)。这里我有一个嵌套视图,它显示并且是hudson.plugins.nested_view.NestedView的一个实例。但我似乎无法对这个目标做任何事情。
因此,我想知道如何从Jenkins实例获取所有列表视图?
我认为我必须在我的pom.xml文件中定义依赖
<dependencies>
<dependency>
<groupId>nested_view.plugins.hudson</groupId>
<artifactId>nested-view</artifactId>
<version>1.526</version>
<optional>true</optional>
</dependency>
</dependencies>
为了能够使用作为hudson.plugins.nested_view.NestedView实例的对象。但是当将它添加到我的pom.xml中时,它似乎不起作用。将鼠标悬停在依赖标记上方(上面代码块的第二行),我收到消息
缺少工件hudson.plugins.nested_view:nested-view:jar:1.526
我宁愿找到通过核心方法和对象获取所有视图的方法。但是,如果我必须添加依赖项以获取嵌套视图中的列表视图和作业,我该如何使其工作?
旁注:
This issue是我想要做的,但getViews()
返回不包含View对象的View对象。另外,我想在java中这样做。但这对我没有任何帮助......
// Bogge
答案 0 :(得分:0)
我找到了解决问题的方法!
由于我可以在当前视图中单独访问所有作业,而不知道我在哪个视图中,我可以将每个作业添加到后端的列表中,然后只扫描URL以查看是否有人更改了视图(然后我会清除并重新添加作业。)
如果有人知道如何访问其他插件的对象以及如何正确添加依赖性,那么我们仍然会感激不尽。
干杯!