从自定义生成结果选项卡访问生成信息

时间:2013-10-29 09:16:12

标签: plugins teamcity

在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();
    }
}

这会在构建结果中添加一个名为“Build Utilities”的选项卡以及“Overview”,“Changes”,“Build Log”等。单击此选项卡将启动我的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,或者是否有其他方式来访问这些信息?

1 个答案:

答案 0 :(得分:0)

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

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

感谢JetBrains的Maxim Podkolzine。