Class: Fastlane::Helper::SqCiToolsYandexTrackerHelper
- Inherits:
-
Object
- Object
- Fastlane::Helper::SqCiToolsYandexTrackerHelper
- Defined in:
- lib/fastlane/plugin/sq_ci_tools/helper/sq_ci_tools_yandex_tracker_helper.rb
Class Method Summary collapse
- .create_issue(query:, body:, iam_token:, organization_id:) ⇒ Object
- .fill_headers(request:, iam_token:, organization_id:) ⇒ Object
- .find_issues(query:, body:, iam_token:, organization_id:) ⇒ Object
- .get_http ⇒ Object
- .transit_issue(issue_id:, transition_name:, iam_token:, organization_id:) ⇒ Object
- .update_issue(query:, issue_id:, body:, iam_token:, organization_id:) ⇒ Object
Class Method Details
.create_issue(query:, body:, iam_token:, organization_id:) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/fastlane/plugin/sq_ci_tools/helper/sq_ci_tools_yandex_tracker_helper.rb', line 33 def self.create_issue(query:, body:, iam_token:, organization_id:) http = self.get_http query_params = URI.encode_www_form(query) request = Net::HTTP::Post.new("/v3/issues?#{query_params}") self.fill_headers( request: request, iam_token: iam_token, organization_id: organization_id ) request.body = body.to_json response = http.request(request) if response.kind_of? Net::HTTPSuccess json_body = JSON.parse(response.body) return json_body else UI.user_error!("Unable to fetch Yandex Tracker issues: #{response.}, #{response.body}") end end |
.fill_headers(request:, iam_token:, organization_id:) ⇒ Object
109 110 111 112 113 114 |
# File 'lib/fastlane/plugin/sq_ci_tools/helper/sq_ci_tools_yandex_tracker_helper.rb', line 109 def self.fill_headers(request:, iam_token:, organization_id:) request.add_field('Content-Type', 'application/json') request.add_field('Host', HOST) request.add_field('Authorization', "Bearer #{iam_token}") request.add_field('X-Cloud-Org-ID', organization_id) end |
.find_issues(query:, body:, iam_token:, organization_id:) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/fastlane/plugin/sq_ci_tools/helper/sq_ci_tools_yandex_tracker_helper.rb', line 11 def self.find_issues(query:, body:, iam_token:, organization_id:) http = self.get_http query_params = URI.encode_www_form(query) request = Net::HTTP::Post.new("/v3/issues/_search?#{query_params}") self.fill_headers( request: request, iam_token: iam_token, organization_id: organization_id ) request.body = body.to_json response = http.request(request) if response.kind_of? Net::HTTPSuccess json_body = JSON.parse(response.body) return json_body else UI.user_error!("Unable to fetch Yandex Tracker issues: #{response.}, #{response.body}") end end |
.get_http ⇒ Object
100 101 102 103 104 105 106 107 |
# File 'lib/fastlane/plugin/sq_ci_tools/helper/sq_ci_tools_yandex_tracker_helper.rb', line 100 def self.get_http uri = URI.parse("https://#{HOST}") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.set_debug_output($stdout) http end |
.transit_issue(issue_id:, transition_name:, iam_token:, organization_id:) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/fastlane/plugin/sq_ci_tools/helper/sq_ci_tools_yandex_tracker_helper.rb', line 78 def self.transit_issue(issue_id:, transition_name:, iam_token:, organization_id:) http = self.get_http request = Net::HTTP::Post.new("/v3/issues/#{issue_id}/transitions/#{transition_name}/_execute") self.fill_headers( request: request, iam_token: iam_token, organization_id: organization_id ) response = http.request(request) if response.kind_of? Net::HTTPSuccess json_body = JSON.parse(response.body) return json_body else UI.user_error!("Unable to fetch Yandex Tracker issues: #{response.}, #{response.body}") end end |
.update_issue(query:, issue_id:, body:, iam_token:, organization_id:) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/fastlane/plugin/sq_ci_tools/helper/sq_ci_tools_yandex_tracker_helper.rb', line 56 def self.update_issue(query:, issue_id:, body:, iam_token:, organization_id:) http = self.get_http query_params = URI.encode_www_form(query) request = Net::HTTP::Patch.new("/v3/issues/#{issue_id}?#{query_params}") self.fill_headers( request: request, iam_token: iam_token, organization_id: organization_id ) request.body = body.to_json response = http.request(request) if response.kind_of? Net::HTTPSuccess json_body = JSON.parse(response.body) return json_body else UI.user_error!("Unable to fetch Yandex Tracker issues: #{response.}, #{response.body}") end end |