Module: Gitlabarty::IssueRequest
- Defined in:
- lib/gitlabarty/issuerequest.rb
Class Method Summary collapse
- .create(params) ⇒ Object
- .delete(id) ⇒ Object
- .issue_url ⇒ Object
- .post_params(params) ⇒ Object
- .put_params(params) ⇒ Object
- .read(id) ⇒ Object
- .send_request(request) ⇒ Object
- .update(id, params) ⇒ Object
Class Method Details
.create(params) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/gitlabarty/issuerequest.rb', line 10 def self.create(params) default_params = { title: 'New Issue' } params = default_params.merge(post_params(params)) post = Net::HTTP::Post.new("#{issue_url}?#{URI.encode_www_form(params)}") post['PRIVATE-TOKEN'] = Gitlabarty.configuration.private_token response = send_request(post) JSON.parse(response.body).to_s end |
.delete(id) ⇒ Object
43 44 45 46 47 48 49 50 51 |
# File 'lib/gitlabarty/issuerequest.rb', line 43 def self.delete(id) return unless id del = Net::HTTP::Delete.new("#{issue_url}/#{id}") del['PRIVATE-TOKEN'] = Gitlabarty.configuration.private_token response = send_request(del) JSON.parse(response.body).to_s end |
.issue_url ⇒ Object
6 7 8 |
# File 'lib/gitlabarty/issuerequest.rb', line 6 def self.issue_url "#{Gitlabarty.configuration.url}/#{Gitlabarty.configuration.id}/issues" end |
.post_params(params) ⇒ Object
53 54 55 56 57 |
# File 'lib/gitlabarty/issuerequest.rb', line 53 def self.post_params(params) params.slice(:title, :description, :confidential, :assignee_ids, :milestone_id, :labels, :created_at, :due_date, :merge_request_to_resolve_discussions_of, :discussion_to_resolve, :weight, :epic_id, :epic_iid) end |
.put_params(params) ⇒ Object
59 60 61 62 63 |
# File 'lib/gitlabarty/issuerequest.rb', line 59 def self.put_params(params) params.slice(:title, :description, :confidential, :assignee_ids, :milestone_id, :labels, :state_event, :updated_at, :due_date, :weight, :discussion_locked, :epic_id, :epic_iid) end |
.read(id) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/gitlabarty/issuerequest.rb', line 21 def self.read(id) return unless id get = Net::HTTP::Get.new("#{issue_url}/#{id}") get['PRIVATE-TOKEN'] = Gitlabarty.configuration.private_token response = send_request(get) JSON.parse(response.body).to_s end |
.send_request(request) ⇒ Object
65 66 67 68 69 70 71 72 |
# File 'lib/gitlabarty/issuerequest.rb', line 65 def self.send_request(request) response = nil uri = URI(Gitlabarty.configuration.url) Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| response = http.request request end response end |
.update(id, params) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/gitlabarty/issuerequest.rb', line 31 def self.update(id, params) return unless id params = put_params(params) put = Net::HTTP::Put.new("#{issue_url}/#{id}?#{URI.encode_www_form(params)}") put['PRIVATE-TOKEN'] = Gitlabarty.configuration.private_token response = send_request(put) JSON.parse(response.body).to_s end |