• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

moosetechnology / GitProjectHealth / 10919299699

18 Sep 2024 09:21AM UTC coverage: 20.045% (-0.06%) from 20.103%
10919299699

push

github

web-flow
fix: merge requests loading (#63)

0 of 89 new or added lines in 10 files covered. (0.0%)

1 existing line in 1 file now uncovered.

1961 of 9783 relevant lines covered (20.04%)

0.2 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/GitLabHealth-Model-Analysis/JiraTimeMRTimeDifferenceMetric.class.st
1
Class {
2
        #name : #JiraTimeMRTimeDifferenceMetric,
3
        #superclass : #UserJiraMetric,
4
        #category : #'GitLabHealth-Model-Analysis'
5
}
6

7
{ #category : #calculating }
8
JiraTimeMRTimeDifferenceMetric >> calculate [
×
9

×
10
        | groupedByDate dateOver |
×
11
        userMergeRequests ifNil: [ self load ].
×
12
        userMergeRequests ifEmpty: [ ^nil ].
×
13
        groupedByDate := self setupGroupedDate.
×
14

×
15
        userMergeRequests do: [ :userMergeRequest |
×
16
                dateOver := self transformDate: userMergeRequest created_at to: over.
×
17
                groupedByDate
×
18
                        at: dateOver printString
×
19
                        ifPresent: [ :value | value add: userMergeRequest ] ].
×
20

×
21
        groupedByDate := groupedByDate collect: [ :group |
×
22
                                 | differences |
×
23
                                 differences := group collect: [ :mergeRequest |
×
24
                                                        | firstCommitDate mergeRequestTime jiraTime |
×
25
                                                        firstCommitDate := mergeRequest
×
26
                                                                                   commits last
×
27
                                                                                   created_at.
×
28

×
29
                                                        mergeRequestTime := mergeRequest
×
30
                                                                                    merged_at
×
31
                                                                            -
×
32
                                                                            firstCommitDate.
×
33

×
34
                                                        jiraTime := mergeRequest jiraIssue
×
35
                                                                            timeOriginalEstimate
×
36
                                                                            ifNil: [
×
37
                                                                            mergeRequest jiraIssue
×
38
                                                                                    timeEstimate ]
×
39
                                                                            ifNotNil: [
×
40
                                                                            mergeRequest jiraIssue
×
41
                                                                                    timeOriginalEstimate ].
×
42

×
43
                                                        (jiraTime - mergeRequestTime)
×
44
                                                                asSeconds ].
×
45
                                 differences average ].
×
46

×
47
        ^ groupedByDate average
×
48
]
×
49

50
{ #category : #accessing }
51
JiraTimeMRTimeDifferenceMetric >> description [
×
52

×
53
        ^ 'average difference in seconds between jira estimate time and associated merge request time (time between first commit and merge date)'
×
54
]
×
55

56
{ #category : #loading }
57
JiraTimeMRTimeDifferenceMetric >> load [
×
58

×
59
        userMergeRequests := self
×
NEW
60
                                     loadUserCompleteMergeRequestsWithJiraIssueSince: (period at: #since)
×
61
                                     until: (period at: #until).
×
62

×
63
        "Take only the merge requests that have been merged and given a time estimate"
×
64
        userMergeRequests := userMergeRequests select: [ :mergeRequest |
×
65
                                     | issueIsEstimated |
×
66
                                     issueIsEstimated := mergeRequest jiraIssue
×
67
                                                                 timeEstimate isNotNil or:
×
68
                                                                 mergeRequest jiraIssue
×
69
                                                                         timeOriginalEstimate
×
70
                                                                         isNotNil.
×
71
                                     mergeRequest merged_at isNotNil and:
×
NEW
72
                                             issueIsEstimated ]
×
73
]
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc