1
我在Sonar中创建了一个自定义小部件来显示特定项目的一些数据。列表中有3个项目,只有其中一个应显示此小部件。如何在SonarQube中设置自定义小部件的范围?
我试着设置Widget Scope @WidgetScope(value = PROJECT)
。也试过不设置任何东西,因为默认范围应该是Project
。
我正在使用v5.1.2 SonarQube。
但它仍然显示在所有项目上有相同的数据。
这里是代码我使用:
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.web.WidgetScope;
import org.sonar.api.resources.Project;
import static org.sonar.api.web.WidgetScope.PROJECT;
@UserRole(UserRole.USER)
@Description("An Internal Plugin to display some data in a project")
@WidgetCategory("some-data Plugin")
@WidgetScope(value = PROJECT)
@WidgetProperties({
@WidgetProperty(key = "Index",type=WidgetPropertyType.STRING
),
})
public class OneMoreRubyWidget extends AbstractRubyTemplate implements RubyRailsWidget {
@Override
public String getId() {
return "SomeData";
}
@Override
public String getTitle() {
return "SomeData";
}
protected String getTemplatePath() {
return "/example/somedata.html.erb";
}
}
有什么办法,我可以从声纳仪表盘拿到“项目名称”,这样我可以在widget为不同的项目返回不同的值?
你能显示somedata.html.erb的代码吗?如果您想在某些条件下隐藏小部件,则必须在此处进行更改。 –