Page tree
Skip to end of metadata
Go to start of metadata
    import com.atlassian.jira.bc.issue.search.SearchService;
    import com.atlassian.jira.component.ComponentAccessor;
    import com.atlassian.jira.config.properties.ApplicationProperties;
    import com.atlassian.jira.issue.CustomFieldManager;
    import com.atlassian.jira.issue.Issue;
    import com.atlassian.jira.issue.fields.CustomField;
    import com.atlassian.jira.issue.link.IssueLink;
    import com.atlassian.jira.issue.search.SearchException;
    import com.atlassian.jira.issue.search.SearchResults;
    import com.atlassian.jira.issue.worklog.Worklog;
    import com.atlassian.jira.project.version.Version;
    import com.atlassian.jira.user.ApplicationUser;
    import com.atlassian.jira.web.bean.PagerFilter;
    import com.atlassian.query.Query;
    import com.atlassian.jira.security.JiraAuthenticationContext;

    import java.util.ArrayList;
    import java.util.List;

    Issue currIssue= issue;


    List<Issue> linklissue = new ArrayList();


    double allTs = 0d;//总换体天数



    ApplicationProperties applicationProperties = ComponentAccessor.getApplicationProperties();
    String jql = applicationProperties.getString("HKTXPROPERTIESKEY.FIELD.01-dev-sql");


    String jqlNew = String.format(jql, issue.getKey());
    log.debug("queryBussReqFromDevReq:"+jqlNew);
     ApplicationUser user =  ComponentAccessor.getComponent(JiraAuthenticationContext.class).getLoggedInUser();
    List<Issue> issueList = new ArrayList();
    try {
        SearchService searchService = ComponentAccessor.getComponentOfType(SearchService.class);
        SearchService.ParseResult parseResult = searchService.parseQuery(user, jqlNew);
        if (!parseResult.isValid()) {
            return issueList;
         }
        Query query = parseResult.getQuery();
        SearchResults searchResults = searchService.search(user, query, PagerFilter.getUnlimitedFilter());
        issueList = searchResults.getResults();

    } catch (SearchException e) {
        e.printStackTrace();
    }
    log.debug("issueList.size : "+issueList.size())
    //01-实际预估人天
    CustomField tsCf = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(11614L);
    for (int i = 0; i <issueList.size() ; i++) {
        List<Issue> subtaskList = new ArrayList();
        subtaskList.addAll(issueList.get(i).getSubTaskObjects());
        log.debug("subtaskList.size : "+subtaskList.size())
        for (int j = 0; j <subtaskList.size() ; j ++) {
            allTs += subtaskList.get(j).getOriginalEstimate();
        }
        
    }
    allTs/(60*60*8)


  • No labels