Skip to main content

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.

Source Distribution

django-snow-1.2.0.tar.gz (9.4 kB view details)

Uploaded Source

File details

Details for the file django-snow-1.2.0.tar.gz.

File metadata

  • Download URL: django-snow-1.2.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for django-snow-1.2.0.tar.gz
Algorithm Hash digest
SHA256 13f2dc78469e013b08a12ccba863990e673f7d25d839e88a628df63c3d673138
MD5 654ea72537410daf3bc5fb3eef2ede5f
BLAKE2b-256 a895920ad8d7903bcdaa5e6bf11bec6f3d1b6ec1b7989dde36a358d8fee4901b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.2.0 This release

1 file

1.1.0

1 file

1.0.1

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page