jira scriptrunner 例五 例六 校验

例子五  校验判断是否选择了XXXX任务(链接的问题——系统字段)
 /**
*判断是否选择了XXXX任务
*/
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.issue.IssueFieldConstants;
import com.atlassian.jira.issue.fields.IssueLinksSystemField;
import com.opensymphony.workflow.InvalidInputException;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.issuetype.IssueType;
import com.atlassian.jira.issue.IssueManager;
import webwork.action.ActionContext;

import java.util.List;
IssueManager issueManager = ComponentManager.getInstance().getIssueManager();
def fieldManager = ComponentAccessor.getFieldManager();
def linksSystemField = fieldManager.getField("issuelinks") as IssueLinksSystemField;

def request = ActionContext.getRequest();
if (request) {
    def params = request.getParameterMap();
    def issueLinkingValue = linksSystemField.getRelevantParams(params) as IssueLinksSystemField.IssueLinkingValue;
    List<String> linkedIssueIds = issueLinkingValue.getLinkedIssues();
    boolean flag = false;
    int count = 0;
    for(String linkedIssueId:linkedIssueIds){
        Issue linkedIssue = issueManager.getIssueObject(linkedIssueId);
        IssueType issueType = linkedIssue.getIssueTypeObject();
        String issueTypeName = issueType.getName();
        if("XXXX任务".equals(issueTypeName)){
            count++;
            flag = true;
        }
    }
    if(!flag){
        throw new InvalidInputException(IssueFieldConstants.ISSUE_LINKS,
            "请选择关联的XXXX任务!");
    }
    if(issueLinkingValue.linkDescription != "relates to"){
        throw new InvalidInputException(IssueFieldConstants.ISSUE_LINKS,
            "需要以relates to方式关联XXXX任务!");
    }
    if(count>1){
        throw new InvalidInputException(IssueFieldConstants.ISSUE_LINKS,
            "只能关联一个xxxx任务!");
    }

}

例子六  校验  获取自定义字段,根据其中的值判断阻止操作
/**
*判断是否选择重要程度
*/
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.issue.IssueFieldConstants;
import com.atlassian.jira.issue.fields.IssueLinksSystemField;
import com.opensymphony.workflow.InvalidInputException;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.issuetype.IssueType;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.fields.FieldManager;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import webwork.action.ActionContext;

import java.util.List;

IssueManager issueManager = ComponentManager.getInstance().getIssueManager();
FieldManager fieldManager = ComponentManager.getInstance().getFieldManager();
CustomFieldManager customFieldManager = ComponentManager.getInstance().getCustomFieldManager();


    //判断当前变更类型
    CustomField changeType = customFieldManager.getCustomFieldObjectByName("重要程度");//获取重要程度自定义字段
    if(changeType!=null){
             Object changeType01 = issue.getCustomFieldValue(changeType).toString();//获取其中的值,值为"重大"时,则当前操作不被允许
              if("重大".equals(changeType01)){
                    throw new InvalidInputException("当前任务为紧急状态,该操作不被准许!");
             }
             }
    }



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值