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.rb20
1 files changed, 17 insertions, 3 deletions
diff --git a/lib/atlassian/jira_connect/client.rb b/lib/atlassian/jira_connect/client.rb
index 3e2e6f1b9ba..dc37465744b 100644
--- a/lib/atlassian/jira_connect/client.rb
+++ b/lib/atlassian/jira_connect/client.rb
@@ -30,8 +30,21 @@ module Atlassian
responses.compact
end
+ def user_info(account_id)
+ r = get('/rest/api/3/user', { accountId: account_id, expand: 'groups' })
+
+ JiraUser.new(r.parsed_response) if r.code == 200
+ end
+
private
+ def get(path, query_params)
+ uri = URI.join(@base_uri, path)
+ uri.query = URI.encode_www_form(query_params)
+
+ self.class.get(uri, headers: headers(uri, 'GET'))
+ end
+
def store_ff_info(project:, feature_flags:, **opts)
items = feature_flags.map { |flag| ::Atlassian::JiraConnect::Serializers::FeatureFlagEntity.represent(flag, opts) }
items.reject! { |item| item.issue_keys.empty? }
@@ -99,10 +112,11 @@ module Atlassian
self.class.post(uri, headers: headers(uri), body: metadata.merge(payload).to_json)
end
- def headers(uri)
+ def headers(uri, http_method = 'POST')
{
- 'Authorization' => "JWT #{jwt_token('POST', uri)}",
- 'Content-Type' => 'application/json'
+ 'Authorization' => "JWT #{jwt_token(http_method, uri)}",
+ 'Content-Type' => 'application/json',
+ 'Accept' => 'application/json'
}
end