Я разрабатываю бамбуковый плагин, используя Atlassian-SDK. Этот плагин добавит новую вкладку на страницу Bamboo Jobs, которая будет отображать HTML-отчет (представленный в артефакте) на той же вкладке .
Мой Atlassian-plugin.xml выглядит как
<xwork key="viewRobotReport" name="View Robot Report">
<package name="RobotPlugin" extends="buildResultView">
<action name="viewRobotReport" class="robot.RobotReport">
<result name="success" type="freemarker">viewRobotReport.ftl</result>
</action>
</package>
</xwork>
<web-item key="RobotJob-${planKey}-${buildNumber}" name="RobotReport" section="results.subMenu/results" weight="80">
<label key="Robot Report"/>
<link linkId="RobotBuild-${planKey}-${buildNumber}">/build/result/viewRobotReport.action?buildKey=${planKey}&buildNumber=${buildNumber}
</link>
<condition class="robot.RobotReportViewCondition"/>
</web-item>
Я расширяю свой класс RobotReport из ViewBuildResults, чтобы я мог получить сведения об артефакте.
После нажатия на вкладку я получаю сообщение об ошибке
Apologies, this page could not be properly decorated (data is missing)
URL-адрес страницы
172.xx.x.x0: 6990 / бамбук / строительство / результат / viewRobotReport.action buildKey = TPRO1-TPLAN1-JOB1 & BuildNumber = 1
Из журналов я вижу следующие ошибки
[INFO] [talledLocalContainer] 2018-05-02 13:41:48,724 INFO [http-nio-6990-exec-12] [AccessLogFilter] admin GET http://172.20.1.30:6990/bamboo/build/result/viewRobotReport.action?buildKey=TPRO1-TPLAN1-JOB1&buildNumber=1&_=1525264904397 177957kb
[INFO] [talledLocalContainer] 2018-05-02 13:41:48,725 ERROR [http-nio-6990-exec-12] [BambooStrutsUnknownHandler] There is no Action mapped for namespace [/build/result] and action name [viewRobotReport] associated with context path [/bamboo].
[INFO] [talledLocalContainer] 2018-05-02 13:41:48,788 INFO [http-nio-6990-exec-9] [AccessLogFilter] admin GET http://172.20.1.30:6990/bamboo/build/result/viewRobotReport.action?buildKey=TPRO1-TPLAN1-JOB1&buildNumber=1 76808kb
[INFO] [talledLocalContainer] 2018-05-02 13:41:48,789 ERROR [http-nio-6990-exec-9] [BambooStrutsUnknownHandler] There is no Action mapped for namespace [/build/result] and action name [viewRobotReport] associated with context path [/bamboo].
[INFO] [talledLocalContainer] 2018-05-02 13:41:48,819 ERROR [http-nio-6990-exec-9] [runtime] Error executing FreeMarker template
[INFO] [talledLocalContainer] FreeMarker template error:
[INFO] [talledLocalContainer] The following has evaluated to null or missing:
[INFO] [talledLocalContainer] ==> navigationContext [in template "decorators/resultDecorator.ftl" at line 17, column 18]
[INFO] [talledLocalContainer]
Я понимаю, что BambooStruts не может найти действие в пространстве имен / build / result in / bamboo .
Мой шаблон бесплатного маркера содержит только этот бит.
<html>
<head>
<meta name="decorator" content="result"/>
</head>
<body>
</body>
</html>
Как правильно добавить действие (viewRobotReport) в пространство имен бамбука / build / result?
На форумах разработчиков Bamboo нет рекомендаций по реализации этого.
Где-то здесь упоминается «инъекция сеттера», но я не уверен, что это такое.
Любая крошечная подсказка будет высоко оценена. Заранее спасибо.