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

moosetechnology / GitProjectHealth / 10918907131

18 Sep 2024 08:57AM UTC coverage: 20.103% (-0.2%) from 20.328%
10918907131

push

github

web-flow
Merge pull request #61 from moosetechnology/feat-jira-time-vs-merge-request-time

feat: add jira time and merge request time difference metric

0 of 207 new or added lines in 11 files covered. (0.0%)

4 existing lines in 2 files now uncovered.

1961 of 9755 relevant lines covered (20.1%)

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 }
NEW
8
JiraTimeMRTimeDifferenceMetric >> calculate [
×
NEW
9

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

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

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

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

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

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

×
NEW
47
        ^ groupedByDate average
×
NEW
48
]
×
49

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

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

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

×
NEW
59
        userMergeRequests := self
×
NEW
60
                                     loadCompleteMergeRequestsWithJiraIssueOfUser:
×
NEW
61
                                     user
×
NEW
62
                                     since: (period at: #since)
×
NEW
63
                                     until: (period at: #until).
×
NEW
64

×
NEW
65
        "Take only the merge requests that have been merged and given a time estimate"
×
NEW
66
        userMergeRequests := userMergeRequests select: [ :mergeRequest |
×
NEW
67
                                     | issueIsEstimated |
×
NEW
68
                                     issueIsEstimated := mergeRequest jiraIssue
×
NEW
69
                                                                 timeEstimate isNotNil or:
×
NEW
70
                                                                 mergeRequest jiraIssue
×
NEW
71
                                                                         timeOriginalEstimate
×
NEW
72
                                                                         isNotNil.
×
NEW
73
                                     mergeRequest merged_at isNotNil and:
×
NEW
74
                                             issueIsEstimated ].
×
NEW
75

×
NEW
76
]
×
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