经过反复试验,我找到了解决方案。
总而言之,您在项目中需要两个不同的东西:
1)从ProminentProjectAction继承的类:
import hudson.model.ProminentProjectAction;public class MyProjectAction implements ProminentProjectAction { @Override public String getIconFileName() { // return the path to the icon file return "/images/jenkins.png"; } @Override public String getDisplayName() { // return the label for your link return "MyActionlink"; } @Override public String getUrlName() { // defines the suburl, which is appended to ...jenkins/job/jobname return "myactionpage"; }}2)更重要的是,您应以某种方式将此操作添加到
项目中。
就我而言,我希望仅当
插件的相关构建步骤针对实际项目进行配置时才显示链接。因此,我上了Builder类,并
重写了getProjectActionsMethod。
public class MyBuilder extends Builder { ... @Override public Collection<? extends Action> getProjectActions(AbstractProject<?,?> project) { List<Action> actions = new ArrayList<>(); actions.add(new MyProjectAction()); return actions; }}也许这还不是完美的解决方案(因为我仍在试图弄清楚所有工件如何协同工作),但它可能为希望实施相同工件的人们提供了一个良好的起点。
单击链接后加载的页面被定义为source / main / resources下的index.jelly 文件和一个基础包,
其中包含Action类的包名称,并附加其类名(例如src / main / resources / org / example / myplugin / MyProjectAction)。



