бамбук: мое пользовательское действие в xWork не оформлено, страница отображается без вкладок

Я новичок в разработке Atlasian Bamboo, и у меня возникла проблема, не могли бы вы мне помочь.

Я разрабатываю плагин для бамбука, и у меня есть этот xwork:

<xwork key="viewNFTResults" name="View NFT Results">
    <package name="nftResults" extends="buildResultView">
        <action name="viewNFTLogs" class="com.atlassian.sap.nftresults.impl.NFTLogsView">
            <result name="success" type="freemarker">/fragments/view-nft-results-log.ftl</result>
            <result name="error" type="freemarker">/fragments/error.ftl</result>
        </action>
    </package>
</xwork>
<web-item key="NFT:\${planKey}-\${buildNumber}" name="chainNFTResults" section="chainResults.subMenu/chainResults"
          weight="80">
    <label key="NFT logs"/>
    <link linkId="NFT:\${planKey}-\${buildNumber}">/build/result/viewNFTLogs.action?buildKey=${planKey}&amp;buildNumber=${buildNumber}</link>
</web-item>

В моем файле ftl я помещаю голову:

<head>
    <meta name="decorator" content="result"/>
    <meta name="tab" content="chainNFTResults"/>
</head>

а класс NFTLogsView расширяет BuildResultsAction.

Теперь, когда я щелкаю вкладку журналов NFt во время сборки, появляется содержимое этой вкладки, выполняется действие, и декоратор страницы также в порядке, например:

сборка запущена

Но когда я обновляю страницу или когда сборка завершена, и я показываю вкладку (я имею в виду внутри вкладки), я получаю эту страницу:

сборка завершена

Другие вкладки исчезли, и в журналах появилось много исключений, например:

BambooActionSupport.getWebSectionsForLocation(String) threw an exception.

а также...

`[INFO] [talledLocalContainer] ==> fn.hasPlanPermissionForKey("BUILD", 
stage.planKey)  [in template "lib/chains.ftl" at line 369, column 49]`

а также...

BambooActionSupport.hasPlanPermission(String, String) threw an exception.

И многие другие исключения. Хотя URL-адрес действия одинаков, когда я нажимаю на вкладку и когда обновляю страницу.

Любые предложения, пожалуйста.


person Alaa SBAIHI    schedule 11.08.2017    source источник


Ответы (1)


Наконец, после недели усилий и помощи команды разработчиков Atlassian мы нашли причину и обходной путь, пока это не будет исправлено в Bamboo.

JIRA: [https://jira.atlassian.com/browse/BAM-19884]

Причина. Следующие зависимости не внедряются для действия Xwork.

BambooPermissionManager, BambooAuthenticationContext, JiraApplinksService, WebInterfaceManager, VcsRepositoryConfigurationService, PlanExecutionManager, TriggerManager, PlanManager

Временное решение

Добавьте следующее в класс, который расширяет ViewBuildResult, сканер Spring найдет эти зависимости и сделает их видимыми для загрузчика классов плагинов при создании экземпляра действия xwork.

@ComponentImport
private BambooPermissionManager bambooPermissionManager;
@ComponentImport
private BambooAuthenticationContext bambooAuthenticationContext;
@ComponentImport
private JiraApplinksService jiraApplinksService;
@ComponentImport
private WebInterfaceManager webInterfaceManager;
@ComponentImport
private VcsRepositoryConfigurationService vcsRepositoryConfigurationService;
@ComponentImport
private PlanExecutionManager planExecutionManager;
@ComponentImport
private TriggerManager triggerManager;
@ComponentImport
private PlanManager planManager;

В pom.xml добавьте следующее (это может не понадобиться для самой последней версии весеннего сканера)

<Import-Package>
 org.springframework.osgi.*;resolution:="optional",
 org.eclipse.gemini.blueprint.*;resolution:="optional",
 com.atlassian.bamboo.applinks.*;resolution:="optional",
 com.atlassian.bamboo.build.*;resolution:="optional",
 com.atlassian.bamboo.plan.*;resolution:="optional",
 com.atlassian.bamboo.plan.trigger.*;resolution:="optional",
 com.atlassian.bamboo.security.*;resolution:="optional",
 com.atlassian.bamboo.user.*;resolution:="optional",
 com.atlassian.bamboo.vcs.configuration.service.*:="optional",
 com.atlassian.plugin.web.*;resolution:="optional",
 *
</Import-Package>

Ссылка: Атласский форум

https://community.developer.atlassian.com/t/problem-with-decorator-in-xwork-the-page-is-displayed-without-tabs-and-lot-of-exceptions-in-the-log/18516/26

person ktime    schedule 11.05.2018