我正在更新声纳 3.6 的声纳插件,但存在一个问题:此插件包括工作流类,但没有诸如自 api 3.6 以来的类。是否有任何替代类或方法可以做到这一点?
这是我工作的代码:
package org.sonar.plugins.redmine.reviews;
import org.sonar.api.ServerExtension;
import org.sonar.api.workflow.Workflow;
import static org.sonar.api.workflow.condition.Conditions.*;
import org.sonar.api.workflow.screen.CommentScreen;
import org.sonar.plugins.redmine.RedmineConstants;
public class RedmineWorkflowBuilder implements ServerExtension {
private final Workflow workflow;
private final RedmineLinkFunction linkFunction;
public RedmineWorkflowBuilder(Workflow workflow, RedmineLinkFunction linkFunction) {
this.workflow = workflow;
this.linkFunction = linkFunction;
}
public void start() {
workflow.addCommand(RedmineConstants.LINK_TO_REDMINE_ID);
workflow.setScreen(RedmineConstants.LINK_TO_REDMINE_ID, new CommentScreen());
workflow.addFunction(RedmineConstants.LINK_TO_REDMINE_ID, linkFunction);
// conditions for this function
// - on the review ("IDLE" is the non-persisted status of an non-existing review = when a violation does have a review yet)
workflow.addCondition(RedmineConstants.LINK_TO_REDMINE_ID, not(hasReviewProperty(RedmineConstants.ISSUE_ID)));
workflow.addCondition(RedmineConstants.LINK_TO_REDMINE_ID, statuses("IDLE", "OPEN", "REOPENED"));
// - on the project
workflow.addCondition(RedmineConstants.LINK_TO_REDMINE_ID, hasProjectProperty(RedmineConstants.HOST));
workflow.addCondition(RedmineConstants.LINK_TO_REDMINE_ID, hasProjectProperty(RedmineConstants.API_ACCESS_KEY));
workflow.addCondition(RedmineConstants.LINK_TO_REDMINE_ID, hasProjectProperty(RedmineConstants.PROJECT_KEY));
}
}