2

我正在尝试添加指向我的詹金斯主页的链接。在查看了一些示例(我是开发 Jenkins 插件的新手)之后,似乎我只需要创建一个扩展 Notifier 的类(您似乎不需要在其他任何地方定义它?)并覆盖执行步骤。

我都试过了:

@Override
    public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException {
        List<Action> installedActions = Hudson.getInstance().getActions();
                BuildMonitorAction action = new BuildMonitorAction();
                if(!installedActions.contains(action)){
                        Hudson.getInstance().getActions().add(action);
                }

        return true;
}

和:

@Override
    public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException {
        List<Action> installedActions = Hudson.getInstance().getActions();
        for (Action installedAction: installedActions) {
            if (installedAction instanceof BuildMonitorAction) {
                return true;
            }
        }

        BuildMonitorAction action = new BuildMonitorAction();
        Hudson.getInstance().getActions().add(action);
        return true;
    }

但是perform动作好像没有执行?

BuildMonitorAction 只是:

@ExportedBean (defaultVisibility = 999)
@Extension
public class BuildMonitorAction implements RootAction {

    public String getDisplayName() {
        return "grass is green";
    }

    public String getIconFileName() {
        return null;
    }

    public String getUrlName() {
        return "/buildmonitor";
    }
}

有没有人知道为什么我的主菜单中没有出现显示文本“草是绿色”的链接?

还有一个问题:除了在我的项目文件夹中删除詹金斯开发工作区之外,还有其他方法可以清除它吗?mvn clean 似乎没有清除它。

先感谢您。

4

1 回答 1

1

我不知道是否有人再寻找这个,但显然让 getIconFileName 返回 null 将隐藏任务,使其不会显示在您的任务栏中:

http://hudson-ci.org/javadoc/hudson/model/Action.html#getIconFileName%28%29

我只是让该方法返回一个随机字符串并且它起作用了。(只是显示的文字,没有损坏的图像或任何东西)

于 2011-10-01T00:44:55.627 回答