« Back to Index

JIRA API creating a ticket/issue

View original Gist on GitHub

jira-api-create-ticket-issue.rb

require 'restclient'
require 'json'
 
class Client
  def self.client
    @client ||= RestClient::Resource.new('https://jira.mydomain.com/rest/api/latest/issue/',
      "ssl_version": 'TLSv1',
      "ssl_client_cert": OpenSSL::X509::Certificate.new(File.read('certificate.pem')),
      "ssl_client_key": OpenSSL::PKey::RSA.new(File.read('certificate.pem'), ''),
      "ssl_ca_file": 'ca.pem',
      "verify_ssl": OpenSSL::SSL::VERIFY_NONE,
      "content_type": 'application/json'
    )
  end
 
  def self.post
    client.post(File.read('test.json'), content_type: 'application/json', accept: :json)
  end
end
 
puts Client.post

test.json

{
    "fields": {
       "project":
       {
          "key": "NEWS"
       },
       "summary": "This is a test please ignore",
       "description": "Creating an issue using Jira's REST API",
       "issuetype": {
          "name": "Backlog Item"
       }
   }
}