Class: Atlassian::JiraConnect::Client
- Inherits:
-
Gitlab::HTTP
- Object
- Gitlab::HTTP
- Atlassian::JiraConnect::Client
- Defined in:
- lib/atlassian/jira_connect/client.rb
Constant Summary
Constants inherited from Gitlab::HTTP
Gitlab::HTTP::BlockedUrlError, Gitlab::HTTP::CookieHash, Gitlab::HTTP::DEFAULT_READ_TOTAL_TIMEOUT, Gitlab::HTTP::DEFAULT_TIMEOUT_OPTIONS, Gitlab::HTTP::Error, Gitlab::HTTP::HTTP_ERRORS, Gitlab::HTTP::HTTP_TIMEOUT_ERRORS, Gitlab::HTTP::HeaderReadTimeout, Gitlab::HTTP::ReadTotalTimeout, Gitlab::HTTP::RedirectionTooDeep, Gitlab::HTTP::Response, Gitlab::HTTP::ResponseError, Gitlab::HTTP::SilentModeBlockedError
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(base_uri, shared_secret) ⇒ Client
constructor
A new instance of Client.
- #send_info(project:, update_sequence_id: nil, **args) ⇒ Object
-
#user_info(account_id) ⇒ Object
Fetch user information for the given account.
Methods inherited from Gitlab::HTTP
Constructor Details
#initialize(base_uri, shared_secret) ⇒ Client
Returns a new instance of Client.
10 11 12 13 |
# File 'lib/atlassian/jira_connect/client.rb', line 10 def initialize(base_uri, shared_secret) @base_uri = base_uri @shared_secret = shared_secret end |
Class Method Details
.generate_update_sequence_id ⇒ Object
6 7 8 |
# File 'lib/atlassian/jira_connect/client.rb', line 6 def self.generate_update_sequence_id (Time.now.utc.to_f * 1000).round end |
Instance Method Details
#send_info(project:, update_sequence_id: nil, **args) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/atlassian/jira_connect/client.rb', line 15 def send_info(project:, update_sequence_id: nil, **args) common = { project: project, update_sequence_id: update_sequence_id } dev_info = args.slice(:commits, :branches, :merge_requests) build_info = args.slice(:pipelines) deploy_info = args.slice(:deployments) remove_branch_info = args.slice(:remove_branch_info) ff_info = args.slice(:feature_flags) responses = [] responses << store_dev_info(**common, **dev_info) if dev_info.present? responses << store_build_info(**common, **build_info) if build_info.present? responses << store_deploy_info(**common, **deploy_info) if deploy_info.present? responses << remove_branch_info(**common, **remove_branch_info) if remove_branch_info.present? responses << store_ff_info(**common, **ff_info) if ff_info.present? raise ArgumentError, 'Invalid arguments' if responses.empty? responses.compact end |
#user_info(account_id) ⇒ Object
Fetch user information for the given account. developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-users/#api-rest-api-3-user-get
37 38 39 40 41 |
# File 'lib/atlassian/jira_connect/client.rb', line 37 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 |