声纳自定义小工具

时间:2016-02-04 07:01:28

标签: api widget sonarqube sonarqube5.3

我使用github中提供的源代码创建了一个小部件。现在我在SonarQube V5.3中使用该小部件。这是我从以下地方获得源代码的地方: https://github.com/SonarSource/sonar-examples/tree/master/plugins/sonar-reference-plugin

当我使用这个小部件时,它会在多个项目中显示相同的数据。我想知道是否有任何方法可以为不同的项目显示不同的数据。请分享您的想法。下面是显示ruby小部件的代码

    import org.sonar.api.web.AbstractRubyTemplate;
    import org.sonar.api.web.Description;
    import org.sonar.api.web.RubyRailsWidget;
    import org.sonar.api.web.UserRole;
    import org.sonar.api.web.WidgetCategory;
    import org.sonar.api.web.WidgetProperties;
    import org.sonar.api.web.WidgetProperty;
    import org.sonar.api.web.WidgetPropertyType;
    import org.sonar.api.batch.CheckProject;
    import org.sonar.api.resources.Project;
    @UserRole(UserRole.USER)
    @Description("Sample")
    @WidgetCategory("Sample")
    @WidgetProperties({
      @WidgetProperty(key = "Index",type=WidgetPropertyType.TEXT
      ),

    })
    public class OneMoreRubyWidget extends AbstractRubyTemplate implements RubyRailsWidget {

      @Override
      public String getId() {
        return "Sample";
      }

      @Override
      public String getTitle() {
        return "Sample";
      }

      @Override
      protected String getTemplatePath() {

          return "/example/Index.html.erb";
      }
    }

非常感谢你提前

1 个答案:

答案 0 :(得分:1)

您尚未在<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <input type="checkbox" class='ChooseMonth'>文件中为小部件(@WidgetScope("GLOBAL"))指定全局范围,因此这是.java文件中的内容的问题。

这个Widget Lab属性widget应该给你一些指示。具体来说:您希望在窗口小部件中选择.erb,然后使用@project进行查询。用于比较的Here's another项目级小部件。

但是你应该知道,SonarSource正在积极地从平台上删除Ruby,因此在未来某个日期,你可能最终会重新编写你的小部件(很可能是纯JavaScript)。