Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/atlassian/jira_connect/client.rb')
-rw-r--r--lib/atlassian/jira_connect/client.rb18
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/atlassian/jira_connect/client.rb b/lib/atlassian/jira_connect/client.rb
index 0b578c03782..f81ed462174 100644
--- a/lib/atlassian/jira_connect/client.rb
+++ b/lib/atlassian/jira_connect/client.rb
@@ -3,19 +3,25 @@
module Atlassian
module JiraConnect
class Client < Gitlab::HTTP
+ def self.generate_update_sequence_id
+ Gitlab::Metrics::System.monotonic_time.to_i
+ end
+
def initialize(base_uri, shared_secret)
@base_uri = base_uri
@shared_secret = shared_secret
end
- def store_dev_info(project:, commits: nil, branches: nil, merge_requests: nil)
+ def store_dev_info(project:, commits: nil, branches: nil, merge_requests: nil, update_sequence_id: nil)
dev_info_json = {
repositories: [
Serializers::RepositoryEntity.represent(
project,
commits: commits,
branches: branches,
- merge_requests: merge_requests
+ merge_requests: merge_requests,
+ user_notes_count: user_notes_count(merge_requests),
+ update_sequence_id: update_sequence_id
)
]
}.to_json
@@ -32,6 +38,14 @@ module Atlassian
private
+ def user_notes_count(merge_requests)
+ return unless merge_requests
+
+ Note.count_for_collection(merge_requests.map(&:id), 'MergeRequest').map do |count_group|
+ [count_group.noteable_id, count_group.count]
+ end.to_h
+ end
+
def jwt_token(http_method, uri)
claims = Atlassian::Jwt.build_claims(
Atlassian::JiraConnect.app_key,