class ServiceNow::Configuration

Public Class Methods

configure(auth_hash = {}) click to toggle source
# File lib/classes/configuration.rb, line 4
def self.configure(auth_hash = {})
    $root_url = auth_hash[:sn_url].sub(/(\/)+$/, '') #remove trailing slash if there are any
    $username = auth_hash[:sn_username]
    $password = auth_hash[:sn_password]
    "SN::Success: Configuration successful"
end
get_resource(query_hash = {}, displayvalue = false, table) click to toggle source
# File lib/classes/configuration.rb, line 11
def self.get_resource(query_hash = {}, displayvalue = false, table)
    # to be filled in
    RestClient::Resource.new(URI.escape($root_url + "/#{table}.do?JSON&sysparm_action=getRecords&sysparm_query=#{hash_to_query(query_hash)}&displayvalue=#{displayvalue}"), $username, $password)
end
post_resource(table) click to toggle source
# File lib/classes/configuration.rb, line 16
def self.post_resource(table)
    RestClient::Resource.new(URI.escape($root_url + "/#{table}.do?JSON&sysparm_action=insert"), $username, $password)
end
update_resource(incident_number, table) click to toggle source
# File lib/classes/configuration.rb, line 20
def self.update_resource(incident_number, table)
   RestClient::Resource.new(URI.escape($root_url + "/#{table}.do?JSON&sysparm_query=number=#{incident_number}&sysparm_action=update"), $username, $password) 
end

Private Class Methods

hash_to_query(query_hash = {}) click to toggle source
# File lib/classes/configuration.rb, line 25
def self.hash_to_query(query_hash = {})
    if query_hash.empty?
        return ""
    end
    query_string = []
    query_hash.each do |k, v|
        key_str = k.to_s
        value_str = v.to_s
        # if we are querying based on short_description or description
        # we use a partial match
        if key_str == "short_description" || key_str == "description"
            query_string << key_str + "LIKE" + value_str
        else
            query_string << key_str + "=" + value_str
        end
    end
    query_string.join('^')
end