Хадсон: разрабатываете плагин, но он не появляется на моей главной странице? - PullRequest
2 голосов
/ 05 апреля 2011

Я пытаюсь добавить ссылку на главную страницу моего Дженкинса. После просмотра некоторых примеров (я новичок в разработке плагинов Jenkins), мне кажется, что мне просто нужно создать класс, который расширяет Notifier (вам не нужно его определять где-либо еще?) И переопределить шаг выполнения. 1001 *

Я пробовал оба:

@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;
    }

Но выполнение не похоже на выполнение?

Действие BuildMonitor просто:

@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";
    }
}

У кого-нибудь есть указания на то, почему в моем главном меню не отображается ссылка с отображаемым текстом "трава зеленая"?

И еще один вопрос: есть ли способ очистить рабочее пространство разработки jenkins, кроме удаления его в папке моего проекта? mvn clean, похоже, не очищает его.

Заранее спасибо.

1 Ответ

1 голос
/ 01 октября 2011

Я не знаю, ищет ли кто-нибудь это больше, но очевидно, что возвращаемое значение getIconFileName возвращает ноль, чтобы скрыть задачу от показа на панели задач:

http://hudson -ci.org / Javadoc / Гудзон / модель / Action.html # getIconFileName% 28% 29

У меня только что был метод, возвращающий случайную строку, и он работал. (только текст показанный, без разбитого изображения или чего-либо еще)

...