提交 3cda8c93 编写于 作者: S Stan Hu

Fix merge request SHA

上级 7c88c4af
...@@ -28,25 +28,33 @@ module BitbucketServer ...@@ -28,25 +28,33 @@ module BitbucketServer
end end
def committer_user def committer_user
raw.dig('commit', 'committer', 'displayName') commit.dig('committer', 'displayName')
end end
def committer_email def committer_email
raw.dig('commit', 'committer', 'emailAddress') commit.dig('committer', 'emailAddress')
end end
def merge_timestamp def merge_timestamp
timestamp = raw.dig('commit', 'committerTimestamp') timestamp = commit['committerTimestamp']
self.class.convert_timestamp(timestamp) self.class.convert_timestamp(timestamp)
end end
def merge_commit
commit['id']
end
def created_at def created_at
self.class.convert_timestamp(created_date) self.class.convert_timestamp(created_date)
end end
private private
def commit
raw.fetch('commit', {})
end
def action def action
raw['action'] raw['action']
end end
......
...@@ -197,7 +197,6 @@ module Gitlab ...@@ -197,7 +197,6 @@ module Gitlab
updated_at: pull_request.updated_at updated_at: pull_request.updated_at
} }
attributes[:merge_commit_sha] = target_branch_sha if pull_request.merged?
merge_request = project.merge_requests.create!(attributes) merge_request = project.merge_requests.create!(attributes)
import_pull_request_comments(pull_request, merge_request) if merge_request.persisted? import_pull_request_comments(pull_request, merge_request) if merge_request.persisted?
end end
...@@ -219,6 +218,7 @@ module Gitlab ...@@ -219,6 +218,7 @@ module Gitlab
user_id = gitlab_user_id(committer) user_id = gitlab_user_id(committer)
timestamp = merge_event.merge_timestamp timestamp = merge_event.merge_timestamp
merge_request.update_attributes({ merge_commit_sha: merge_event.merge_commit })
metric = MergeRequest::Metrics.find_or_initialize_by(merge_request: merge_request) metric = MergeRequest::Metrics.find_or_initialize_by(merge_request: merge_request)
metric.update(merged_by_id: user_id, merged_at: timestamp) metric.update(merged_by_id: user_id, merged_at: timestamp)
end end
......
...@@ -33,5 +33,6 @@ describe BitbucketServer::Representation::Activity do ...@@ -33,5 +33,6 @@ describe BitbucketServer::Representation::Activity do
it { expect(subject.committer_email).to eq('test.user@example.com') } it { expect(subject.committer_email).to eq('test.user@example.com') }
it { expect(subject.merge_timestamp).to be_a(Time) } it { expect(subject.merge_timestamp).to be_a(Time) }
it { expect(subject.created_at).to be_a(Time) } it { expect(subject.created_at).to be_a(Time) }
it { expect(subject.merge_commit).to eq('839fa9a2d434eb697815b8fcafaecc51accfdbbc') }
end end
end end
...@@ -65,7 +65,9 @@ describe Gitlab::BitbucketServerImport::Importer do ...@@ -65,7 +65,9 @@ describe Gitlab::BitbucketServerImport::Importer do
comment?: false, comment?: false,
merge_event?: true, merge_event?: true,
committer_email: project.owner.email, committer_email: project.owner.email,
merge_timestamp: now) merge_timestamp: now,
merge_commit: '12345678'
)
@pr_note = instance_double( @pr_note = instance_double(
BitbucketServer::Representation::Comment, BitbucketServer::Representation::Comment,
...@@ -90,6 +92,7 @@ describe Gitlab::BitbucketServerImport::Importer do ...@@ -90,6 +92,7 @@ describe Gitlab::BitbucketServerImport::Importer do
merge_request = MergeRequest.first merge_request = MergeRequest.first
expect(merge_request.metrics.merged_by).to eq(project.owner) expect(merge_request.metrics.merged_by).to eq(project.owner)
expect(merge_request.metrics.merged_at).to eq(@merge_event.merge_timestamp) expect(merge_request.metrics.merged_at).to eq(@merge_event.merge_timestamp)
expect(merge_request.merge_commit_sha).to eq('12345678')
end end
it 'imports comments' do it 'imports comments' do
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册