Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,14 @@ CommitLinkedToJiraProjectMetric >> load [
{ #category : #issue }
CommitLinkedToJiraProjectMetric >> loadCommitRequestIssues: aCommitCollection [

| connector |
connector := GPJCConnector new
gpModel: glhImporter glhModel;
jiraModel: jiraImporter model;
yourself.
aCommitCollection do: [ :commit |
| id |
id := GPJCConnector new jiraKeyFromCommitMessage: commit message.
id := connector jiraKeyFromCommitMessage: commit message.
jiraImporter importIssue: id.
GPJCConnector new
gpModel: glhImporter glhModel;
jiraModel: jiraImporter model;
connect ]
connector connectCommit: commit ]
]
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ CommitsLinkWithTicketMetric >> load [
GPJCConnector new
gpModel: glhImporter glhModel;
jiraModel: jiraImporter model;
connect.
connectCommits: userCommits.

^userCommits := userCommits select: [ :commit |
commit jiraIssue isNotNil ]
Expand Down
2 changes: 1 addition & 1 deletion src/GitLabHealth-Model-Analysis/GitMetricExporter.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -562,7 +562,7 @@ GitMetricExporter >> setupAnalysisForUsersWithNames: userNames [
glhImporter userCatalogue ifNotNil: [
glhImporter userCatalogue scrapeAuthorNamesForUsers: users ].

users do: [ :user |
users select: [ :u | u id isNotNil ] thenDo: [ :user |
| projects |
projects := glhImporter importContributedProjectsOfUser: user.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,11 +82,15 @@ JiraTimeMRTimeDifferenceProjectMetric >> load [

{ #category : #issue }
JiraTimeMRTimeDifferenceProjectMetric >> loadMergeRequestIssues: aMergeRequestCollection [

(aMergeRequestCollection do: [ :mr |
|id|
id := GPJCConnector new jiraKeyFromCommitMessage: mr title .
jiraImporter importIssue: id.
GPJCConnector new gpModel: glhImporter glhModel; jiraModel: jiraImporter model; connect.
]).

| connector |
connector := GPJCConnector new
gpModel: glhImporter glhModel;
jiraModel: jiraImporter model;
yourself.
aMergeRequestCollection do: [ :mr |
| id |
id := connector jiraKeyFromCommitMessage: mr title.
jiraImporter importIssue: id.
connector connectMergeRequest: mr ]
]
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,14 @@ MergeRequestLinkedToJiraProjectMetric >> load [
{ #category : #issue }
MergeRequestLinkedToJiraProjectMetric >> loadMergeRequestIssues: aMergeRequestCollection [

| connector |
connector := GPJCConnector new
gpModel: glhImporter glhModel;
jiraModel: jiraImporter model;
yourself.
aMergeRequestCollection do: [ :mr |
| id |
id := GPJCConnector new jiraKeyFromCommitMessage: mr title.
id := connector jiraKeyFromCommitMessage: mr title.
jiraImporter importIssue: id.
GPJCConnector new
gpModel: glhImporter glhModel;
jiraModel: jiraImporter model;
connect ]
connector connectMergeRequest: mr ]
]
4 changes: 2 additions & 2 deletions src/GitLabHealth-Model-Analysis/UserMetric.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ UserMetric >> loadUserCompleteMergeRequestsWithJiraIssueSince: since until: unti
GPJCConnector new
gpModel: glhImporter glhModel;
jiraModel: jiraImporter model;
connect.
connectMergeRequests: mergeRequests.

^ mergeRequests select: [ :mergeRequest |
mergeRequest jiraIssue isNotNil ]
Expand Down Expand Up @@ -203,7 +203,7 @@ UserMetric >> loadUserMergeRequestsWithJiraIssueSince: since until: until [
GPJCConnector new
gpModel: glhImporter glhModel;
jiraModel: jiraImporter model;
connect.
connectMergeRequests: mergeRequests.

^ mergeRequests select: [ :mergeRequest |
mergeRequest jiraIssue isNotNil ]
Expand Down
48 changes: 48 additions & 0 deletions src/GitProject-JiraConnector-Tests/GPJCConnectorTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,30 @@ GPJCConnectorTest >> testConnectCommitDoesNotExist [
self assert: commit jiraIssue equals: nil
]

{ #category : #tests }
GPJCConnectorTest >> testConnectCommits [

| issue commit issue2 commit2 |
issue := jiraModel newIssue.
issue key: 'HELLO-WORLD'.

commit := gitProject newCommit.
commit message: 'I am a commit for [HELLO-WORLD]'.

issue2 := jiraModel newIssue.
issue2 key: 'HELLO-WORLD2'.

commit2 := gitProject newCommit.
commit2 message: 'I am a commit for [HELLO-WORLD2]'.

connector connectCommits: { commit }.
self assert: issue commits anyOne equals: commit.
self assert: commit jiraIssue equals: issue.

self assert: issue2 commits isEmpty.
self assert: commit2 jiraIssue equals: nil
]

{ #category : #test }
GPJCConnectorTest >> testConnectMergeRequest [

Expand Down Expand Up @@ -83,6 +107,30 @@ GPJCConnectorTest >> testConnectMergeRequestDoesNotExist [
self assert: mergeRequest jiraIssue equals: nil
]

{ #category : #tests }
GPJCConnectorTest >> testConnectMergeRequests [

| issue mergeRequest issue2 mergeRequest2 |
issue := jiraModel newIssue.
issue key: 'HELLO-WORLD'.

mergeRequest := gitProject newMergeRequest.
mergeRequest title: 'I am a merge request for [HELLO-WORLD]'.

issue2 := jiraModel newIssue.
issue2 key: 'HELLO-WORLD2'.

mergeRequest2 := gitProject newMergeRequest.
mergeRequest2 title: 'I am a merge request for [HELLO-WORLD2]'.

connector connectMergeRequests: { mergeRequest }.
self assert: issue mergeRequest equals: mergeRequest.
self assert: mergeRequest jiraIssue equals: issue.

self assert: issue2 mergeRequest equals: nil.
self assert: mergeRequest2 jiraIssue equals: nil
]

{ #category : #test }
GPJCConnectorTest >> testConnectSeveralCommit [

Expand Down
20 changes: 16 additions & 4 deletions src/GitProject-JiraConnector/GPJCConnector.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ Class {

{ #category : #accessing }
GPJCConnector >> connect [
(self gpModel allWithType: GLHCommit) do: [ :commit |
self connectCommit: commit ].
(self gpModel allWithType: GLHMergeRequest) do: [ :mergeRequest |
self connectMergeRequest: mergeRequest ]
"This is slow, if you wanna connect more specific things please consider doing it using helper methods"

self connectCommits: (self gpModel allWithType: GLHCommit).
self connectMergeRequests: (self gpModel allWithType: GLHMergeRequest)
]

{ #category : #accessing }
Expand All @@ -38,6 +38,12 @@ GPJCConnector >> connectCommit: commit [
ifFound: [ :issue | commit jiraIssue: issue ]
]

{ #category : #accessing }
GPJCConnector >> connectCommits: commits [

commits do: [ :commit | self connectCommit: commit ]
]

{ #category : #accessing }
GPJCConnector >> connectMergeRequest: mergeRequest [

Expand All @@ -46,6 +52,12 @@ GPJCConnector >> connectMergeRequest: mergeRequest [
ifFound: [ :issue | mergeRequest jiraIssue: issue ]
]

{ #category : #accessing }
GPJCConnector >> connectMergeRequests: mergeRequests [

mergeRequests do: [ :mergeRequest | self connectMergeRequest: mergeRequest ]
]

{ #category : #accessing }
GPJCConnector >> gpModel [

Expand Down