Example #1
0
 def getStatuesOfOtherReqWhenThisInProgress(self):
     self.__getHistoryItems(self.__initStartInProgressTime)
     result = {}
     if self.startProgressTime != None:
         timeClause = " ON " + \
             re.findall('(\d{4}-\d{2}-\d{2})', self.startProgressTime)[0]
         result[
             "portionOpenWhenThisInProgress"] = JiraQuery.getNumIssueWhileOpenByClause(
                 self.jiraAPI, self.jiraProjectName, timeClause)
         result[
             "portionInProgressWhenThisInProgress"] = JiraQuery.getNumIssueWhenInProgressByClause(
                 self.jiraAPI, self.jiraProjectName, timeClause)
         result[
             "portionReopenedWhenThisInProgress"] = JiraQuery.getNumIssueWhileReopenedByClause(
                 self.jiraAPI, self.jiraProjectName, timeClause)
         result[
             "portionResolvedWhenThisInProgress"] = JiraQuery.getNumIssueWhileResolvedByClause(
                 self.jiraAPI, self.jiraProjectName, timeClause)
         result[
             "portionClosedWhenThisInProgress"] = JiraQuery.getNumIssueWhenInProgressByClause(
                 self.jiraAPI, self.jiraProjectName, timeClause)
     else:  # The issue hasn't started being developed.
         result["portionOpenWhenThisInProgress"] = result[
             "portionInProgressWhenThisInProgress"] = result[
                 "portionReopenedWhenThisInProgress"] = "NA"
         result["portionResolvedWhenThisInProgress"] = result[
             "portionClosedWhenThisInProgress"] = "NA"
     return result
Example #2
0
 def getStatusOfOtherReqBeforeThisInProgress(self):
     self.__getHistoryItems(self.__initStartInProgressTime)
     result = {}
     if self.startProgressTime != None:
         allIssueBeforeThis = JiraQuery.getAllFinishedIssueBeforeThisInProgress(
             self.jiraAPI, self.jiraProjectName, self.startProgressTime)
         numIssueBeforeThis = len(allIssueBeforeThis)
         result[
             "numDevelopedRequirementsBeforeThisInProgress"] = numIssueBeforeThis
     else:  # this issue has no "In Progress" phase.
         result["numDevelopedRequirementsBeforeThisInProgress"] = "NA"
     return result
Example #3
0
 def getOtherReqStatusesWhileThisOpen(self):
     self.__getHistoryItems(self.__initFinishedOpenStatusTime)
     result = {}
     timeClause = ""
     if self.openEndingTime != None:  # the issue is in open status without activities
         # convert to the time format which is used by jql.
         timeClause = " BEFORE " + \
             re.findall('(\d{4}-\d{2}-\d{2})', self.openEndingTime)[0]
     result[
         "portionOpenWhileThisOpen"] = JiraQuery.getNumIssueWhileOpenByClause(
             self.jiraAPI, self.jiraProjectName, timeClause)
     result[
         "portionInProgressWhileThisOpen"] = JiraQuery.getNumIssueWhenInProgressByClause(
             self.jiraAPI, self.jiraProjectName, timeClause)
     result[
         "portionReopenedWhileThisOpen"] = JiraQuery.getNumIssueWhileReopenedByClause(
             self.jiraAPI, self.jiraProjectName, timeClause)
     result[
         "portionResolvedWhileThisOpen"] = JiraQuery.getNumIssueWhileResolvedByClause(
             self.jiraAPI, self.jiraProjectName, timeClause)
     result[
         "portionClosedWhileThisOpen"] = JiraQuery.getNumIssueWhileClosedByClause(
             self.jiraAPI, self.jiraProjectName, timeClause)
     return result
Example #4
0
def getPortionOfCommitsWithUnassignedTask(projectName):
    loaclRepo = "./CCP-REPOS/tika"
    totalNumCommits = 0
    numUnassignedTaskWithCommits = 0

    unassignedIssues = JiraQuery.getUnassignedIssues(
        JIRA({'server': 'https://issues.apache.org/jira'}), projectName)
    totalNumCommits += totalNumCommitsOnAllBrances(loaclRepo)

    repo = git.Repo(loaclRepo)
    for issue in unassignedIssues:
        logInfo = repo.git.log("--all", "-i", "--grep=" + issue)
        if logInfo != "":
            numUnassignedTaskWithCommits += 1

    return round(numUnassignedTaskWithCommits / totalNumCommits, 2)
Example #5
0
    def getPortionOfCommitsWithUnassignedTask(self):
        totalNumCommits = 0
        numUnassignedTaskWithCommits = 0

        unassignedIssues = JiraQuery.getUnassignedIssues(
            JIRA({'server': 'https://issues.apache.org/jira'}),
            self.jiraApache.jiraProjectName)

        for localRepo in self.localRepos:
            numCommits = GitOperations.executeGitShellCommand(
                localRepo, ["git log --all --pretty=format:'%H' | wc -l"])
            totalNumCommits += int(numCommits.replace(" ", ""))

        for localRepo in self.localRepos:
            repo = git.Repo(localRepo)
            for issue in unassignedIssues:
                logInfo = repo.git.log("--all", "-i", "--grep=" + issue)
                if logInfo != "":
                    numUnassignedTaskWithCommits += 1
        print("numUnassignedTaskWithCommits = ", numUnassignedTaskWithCommits)
        print("totalNumCommits = ", totalNumCommits)
        return round(numUnassignedTaskWithCommits / totalNumCommits, 2)
Example #6
0
 def __setAllIssuesApache(self):
     for req in JiraQuery.getAllIssues(self.jiraAPI, self.jiraProjectName):
         self.issuesApache.append(IssueApache(
             req.key, self.jiraAPI, self.jiraProjectName))
Example #7
0
 def getNumOpenFeatures(self):
     return JiraQuery.getNumIssueWhileOpenByClause(self.jiraAPI, self.jiraProjectName)
Example #8
0
 def getNumInProgressFeatures(self):
     return JiraQuery.getNumIssueWhenInProgressByClause(self.jiraAPI, self.jiraProjectName)