0

在 TeamCity 8 中,我编写了一个插件,它使用以下代码将自定义选项卡添加到构建结果中:

public class BuildUtilitiesTab extends SimpleCustomTab 
{
    public BuildUtilitiesTab(@NotNull PagePlaces pagePlaces, @NotNull final PluginDescriptor descriptor) 
    {
        super(pagePlaces, PlaceId.BUILD_RESULTS_TAB, "buildUtilitiesTab", descriptor.getPluginResourcesPath("buildUtilities.jsp"), "Build Utilities");
        register();
    }
}

这会在“Overview”、“Changes”、“Build Log”等旁边添加一个名为“Build Utilities”的选项卡。单击此选项卡会启动我的 JSP 文件 buildUtilities.jsp。我想显示构建机器和结帐位置。

我想我应该能够写出以下内容:

<jsp:useBean id="build" type="jetbrains.buildServer.serverSide.SBuild" scope="request">

TeamCity 的 BuildOverview.jsp 页面使用它。但是我得到以下概念:

ERROR -   jetbrains.buildServer.SERVER - Error java.lang.InstantiationException: bean build not found within scope while processing request: GET '/buildLog/viewLog.jsp?buildTypeId=Abc_Abc&buildId=1&tab=redGateTeamCityBuildUtilitiesTab', from client 127.0.0.1:64038, authenticated as david, original page URL: /viewLog.html?buildTypeId=Abc_Abc&buildId=1&tab=redGateTeamCityBuildUtilitiesTab
    java.lang.InstantiationException: bean build not found within scope

有谁知道在这种情况下您应该如何使用 bean,或者是否有其他方法可以访问信息?

4

1 回答 1

0
<jsp:useBean id="buildData" type="jetbrains.buildServer.serverSide.SBuild" scope="request">

id 应该是“buildData”而不是“build”。

感谢 JetBrains 的 Maxim Podkolzine。

于 2013-10-29T16:25:28.763 回答