Skip to main content

Django package for creation of ServiceNow Tickets

Project description

django-snow

Latest Version Test/build status Code coverage

django-snow is a django app to manage ServiceNow tickets from within a django project.

Installation

pip install django-snow

Configuration

django-snow requires the following settings to be set in your Django settings:

  • SNOW_INSTANCE - The ServiceNow instance where the tickets should be created
  • SNOW_API_USER - The ServiceNow API User
  • SNOW_API_PASS - The ServiceNow API User’s Password
  • SNOW_ASSIGNMENT_GROUP (Optional) - The group to which the tickets should be assigned. If this is not provided, each call to create the tickets should be provided with an assignment_group argument. See the API documentation for more details
  • SNOW_DEFAULT_CHANGE_TYPE (Optional) - Default Change Request Type. If not provided, standard will considered as the default type.

Usage

Creation

ChangeRequestHandler.create_change_request has the following parameters and return value:

Parameters

  • title - The title of the change request
  • description - The description of the change request
  • assignment_group - The group to which the change request is to be assigned. This is optional if SNOW_ASSIGNMENT_GROUP django settings is available, else, it is mandatory
  • payload (Optional) - The payload for creating the Change Request.

Returns

ChangeRequest model - The model created from the created Change Order.

Example

from django_snow.helpers import ChangeRequestHandler

def change_data(self):
    co_handler = ChangeRequestHandler()
    change_request = co_handler.create_change_request('Title', 'Description', 'assignment_group')

Updating

ChangeRequestHandler.update_change_request method signature:

Parameters

  • change_request - The ChangeRequest Model
  • payload - The payload to pass to the ServiceNow REST API.

Example

from django_snow.models import ChangeRequest
from django_snow.helpers import ChangeRequestHandler

def change_data(self):
    change_request = ChangeRequest.objects.filter(...)
    co_handler = ChangeRequestHandler()

    payload = {
                'description': 'updated description',
                'state': ChangeRequest.TICKET_STATE_IN_PROGRESS
              }

    co_handler.update_change_request(change_request, payload)

Closing

ChangeRequestHandler.close_change_request has the following signature:

Parameters

  • change_request - The ChangeRequest Model representing the Change Order to be closed.

Example

from django_snow.models import ChangeRequest
from django_snow.helpers import ChangeRequestHandler

def change_data(self):
    change_request = ChangeRequest.objects.filter(...)
    co_handler = ChangeRequestHandler()

    co_handler.close_change_request(change_request)

Closing with error

ChangeRequestHandler.close_change_request_with_error method signature:

Parameters

  • change_request - The ChangeRequest Model representing the Change Order to be closed with error
  • payload - The payload to pass to the ServiceNow REST API.

Example

from django_snow.models import ChangeRequest
from django_snow.helpers import ChangeRequestHandler

def change_data(self):
    change_request = ChangeRequest.objects.filter(...)
    co_handler = ChangeRequestHandler()

    payload = {
                'description': 'updated description',
                'title': 'foo'
              }

    co_handler.close_change_request_with_error(change_request, payload)

Models

ChangeRequest

The ChangeRequest model has the following attributes:

  • sys_id - The sys_id of the Change Request.
  • number - Change Request Number.
  • title - The title of the Change Request a.k.a short_description.
  • description - Description for the change request
  • assignment_group_guid - The GUID of the group to which the Change Request is assigned to
  • state - The State of the Change Request. Can be any one of the following ChangeRequest’s constants:
    • TICKET_STATE_OPEN - ‘1’
    • TICKET_STATE_IN_PROGRESS - ‘2’
    • TICKET_STATE_COMPLETE - ‘3’
    • TICKET_STATE_COMPLETE_WITH_ERRORS - ‘4’

Supported Ticket Types

  • Change Requests

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-snow-1.2.0.tar.gz (9.4 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page