Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Include Page
REST V1 Authentication
REST V1 Authentication

...

Request

Parameter
Required
Type
Description
IdYesURLURL parameter for the Id which is used to find and return a Change Management System

Include Page
REST V1 CMS Instance Response
REST V1 CMS Instance Response

Response Codes

HTTP Code
Description
200Change Management System Instance was found and returned
400Bad request
401Unauthorized
404Change Management System Instance not found
500Unexpected internal server error

Example

If we had a Change Management System in our database with an Id of 11101 with the following attributes

Code Block
themeEclipse
titleChange Management System - 11101
{
	"instanceId": 11101,
	"instanceCode": "CMS Code",
	"instanceName": "CMS Name",
	"cmsSystemId": 1,
	"description": "CMS example",
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "SN_PASSWORD",
			"propertyValue": "ThePassword"
		},
		{
			"propertyName": "SN_PORT",
			"propertyValue": "1234"
		},
		{
			"propertyName": "SN_REJECTED_SCRIPT",
			"propertyValue": "rejectedScript.bat"
		},
		{
			"propertyName": "SN_APPROVED_SCRIPT",
			"propertyValue": "approvedScript.bat"
		},
		{
			"propertyName": "SN_DONT_POLL",
			"propertyValue": "true"
		},
		{
			"propertyName": "SN_URL",
			"propertyValue": "http://myServiceNow.atlassian.net"
		},
		{
			"propertyName": "SN_USER_NAME",
			"propertyValue": "username"
		}
	]
}

When we run a GET request at the following URL

http://host:port/flexdeploy/rest/v1/topology/integrations/cmsinstance/11101

The GET request would return the following JSON Change Management System object

Code Block
themeEclipse
titleChange Management System - 11101
{
	"instanceId": 11101,
	"instanceCode": "CMS Code",
	"instanceName": "CMS Name",
	"cmsSystemId": 1,
	"description": "CMS example",
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "SN_PASSWORD",
			"propertyValue": "*****"
		},
		{
			"propertyName": "SN_PORT",
			"propertyValue": "1234"
		},
		{
			"propertyName": "SN_REJECTED_SCRIPT",
			"propertyValue": "rejectedScript.bat"
		},
		{
			"propertyName": "SN_APPROVED_SCRIPT",
			"propertyValue": "approvedScript.bat"
		},
		{
			"propertyName": "SN_DONT_POLL",
			"propertyValue": "true"
		},
		{
			"propertyName": "SN_URL",
			"propertyValue": "http://myServiceNow.atlassian.net"
		},
		{
			"propertyName": "SN_USER_NAME",
			"propertyValue": "username"
		}
	]
}

GET (Using Query Parameters)

This GET service will return a list of Change Management Systems in the form of JSON objects based on the query parameters code, name, and Change Management System type. Change Management Systems are only returned if they match ALL of the specified query parameters. If no query parameters are given this request will return the entire list of Change Management Systems.

Info
titleAPI URL

http://host:port/flexdeploy/rest/v1/topology/integrations/cmsinstance?

Append the following character sequences to the above URL to specify Query parameters.
Use '&' between successive query parameters: 

instanceCode={code}

instanceName={name}

cmsSystemName={cmssystemname}

Examples:
To specify the code parameter only:

http://host:port/flexdeploy/rest/v1/topology/integrations/cmsinstance?instanceCode={code}

To specify the code and name parameters:

http://host:port/flexdeploy/rest/v1/topology/integrations/cmsinstance?instanceCode={code}&instanceName={name}

To specify the issue tracking system name only:

http://host:port/flexdeploy/rest/v1/topology/integrations/cmsinstance?cmsSystemName={cmssystemName}

...

Code Block
themeEclipse
titleChange Management System - 11101
{
		"instanceId": null,												
		"instanceCode": "CMS Code",
		"instanceName": "CMS Name",
		"cmsSystemId": 1,
		"description": "CMS Post",
		"isActive": true,
		"properties":
		[
			{
				"propertyName": "SN_PASSWORD",
				"propertyValue": "ThePassword"
			},
			{
				"propertyName": "SN_PORT",
				"propertyValue": "1234"
			},
			{	
				"propertyName": "SN_REJECTED_SCRIPT",
				"propertyValue": "rejectedScript.bat"
			},
			{
				"propertyName": "SN_APPROVED_SCRIPT",
				"propertyValue": "approvedScript.bat"
			},
			{
				"propertyName": "SN_DONT_POLL",
				"propertyValue": "true"
			},
			{
				"propertyName": "SN_URL",
				"propertyValue": "http://myServiceNow.atlassian.net"
			},
			{
				"propertyName": "SN_USER_NAME",
				"propertyValue": "username"
			}
		]
	}

the following Change Management System will be created in the database and returned. Notice the updated Instance Id field and hidden password.

...

This PUT service will update all attributes of an Change Management System with the given Id based on the attributes of the supplied JSON object.

...

Request

Attributes
Type
Required
Description
instanceIdIntegerNoPrimary ID of the Change Management System, created when first making a Change Management System.
instanceCodeStringYesThe code of the Change Management System. Must be Unique
instanceNameStringYesThe name of the Change Management System. Must be Unique.
cmsSystemIdIntegerYesThe ID of the type of Change Management System.
descriptionStringNoThe description of the Change Management System.
isActiveBooleanNoWhether or not this Change Management System is active. Defaults to true.
propertiesList<Property>DependentThe properties associated with the type of Change Management System: requirements depend on the Change Management System selected.

Include Page
REST V1 CMS Instance Response
REST V1 CMS Instance Response

Response Code

HTTP Code
Description
200Change Management System Updated
400Bad request
401Unauthorized
404Change Management System not found
500Unexpected internal server error

Example

If we had a Change Management System in our database with an Id of 11223 and had the following attributes

Code Block
themeEclipse
titleChange Management System - 11223
{
		"instanceId": 11223,
		"instanceCode": "CMS Code",
		"instanceName": "CMS Name",
		"cmsSystemId": 1,
		"description": "JSON of data before a PUT has occurred",
		"isActive": true,
		"properties":
		[
			{
				"propertyName": "SN_PASSWORD",
				"propertyValue": "*****"
			},
			{
				"propertyName": "SN_PORT",
				"propertyValue": "1234"
			},
			{	
				"propertyName": "SN_REJECTED_SCRIPT",
				"propertyValue": "rejectedScript.bat"
			},
			{
				"propertyName": "SN_APPROVED_SCRIPT",
				"propertyValue": "approvedScript.bat"
			},
			{
				"propertyName": "SN_DONT_POLL",
				"propertyValue": "true"
			},
			{
				"propertyName": "SN_URL",
				"propertyValue": "http://myServiceNow.atlassian.net"
			},
			{
				"propertyName": "SN_USER_NAME",
				"propertyValue": "username"
			}
		]
	}

When we run a PUT request at the following URL

http://host:port/flexdeploy/rest/v1/topology/integrations/cmsinstance/11223

And the PUT request receives the following JSON Change Management System object,

Code Block
themeEclipse
titleChange Management System - 11223
{
		"instanceId": null,
		"instanceCode": "New CMS Code",
		"instanceName": "New CMS Name",
		"cmsSystemId": 1,
		"description": "New CMS Description",
		"isActive": true,
		"properties":
		[
			{
				"propertyName": "SN_PASSWORD",
				"propertyValue": "newPassword"
			},
			{
				"propertyName": "SN_PORT",
				"propertyValue": "1234"
			},
			{	
				"propertyName": "SN_REJECTED_SCRIPT",
				"propertyValue": "rejectedScript.bat"
			},
			{
				"propertyName": "SN_APPROVED_SCRIPT",
				"propertyValue": "approvedScript.bat"
			},
			{
				"propertyName": "SN_DONT_POLL",
				"propertyValue": "true"
			},
			{
				"propertyName": "SN_URL",
				"propertyValue": "http://myServiceNow.atlassian.net"
			},
			{
				"propertyName": "SN_USER_NAME",
				"propertyValue": "newUser"
			}
		]
}

The PUT request would then update the Change Management System with Id 11223 and return the  following JSON Change Management System object.

Code Block
themeEclipse
titleChange Management System - 11223
{
		"instanceId": 11223,
		"instanceCode": "New CMS Code",
		"instanceName": "New CMS Name",
		"cmsSystemId": 1,
		"description": "New CMS Description",
		"isActive": true,
		"properties":
		[
			{
				"propertyName": "SN_PASSWORD",
				"propertyValue": "****"
			},
			{
				"propertyName": "SN_PORT",
				"propertyValue": "1234"
			},
			{	
				"propertyName": "SN_REJECTED_SCRIPT",
				"propertyValue": "rejectedScript.bat"
			},
			{
				"propertyName": "SN_APPROVED_SCRIPT",
				"propertyValue": "approvedScript.bat"
			},
			{
				"propertyName": "SN_DONT_POLL",
				"propertyValue": "true"
			},
			{
				"propertyName": "SN_URL",
				"propertyValue": "http://myServiceNow.atlassian.net"
			},
			{
				"propertyName": "SN_USER_NAME",
				"propertyValue": "newUser"
			}
		]
}

PATCH

This PATCH service will update the information of the Change Management System of the specified Id with the non-null parameters of the JSON. The parameters that are null will not be changed in the Change Management System.

Info
titleAPI URL

http://host:port/flexdeploy/rest/v1/topology/integrations/cmsinstance/{Id}

...

HTTP Code
Description
200Change Management System Updated
400Bad request
401Unauthorized
404Change Management System not found
500Unexpected internal server error

Example

If we had an Change Management System in our database with an Id of 11223 and had the following attributes

Code Block
themeEclipse
titleChange Management System - 11223
{
		"instanceId": 11223,
		"instanceCode": "NewCMSCode",
		"instanceName": "NewCMSName",
		"cmsSystemId": 1,
		"description": "JSON of data before a PATCH has occurred",
		"isActive": true,
		"properties":
		[
			{
				"propertyName": "SN_PASSWORD",
				"propertyValue": "ThePassword"
			},
			{
				"propertyName": "SN_PORT",
				"propertyValue": "1234"
			},
			{	
				"propertyName": "SN_REJECTED_SCRIPT",
				"propertyValue": "rejectedScript.bat"
			},
			{
				"propertyName": "SN_APPROVED_SCRIPT",
				"propertyValue": "approvedScript.bat"
			},
			{
				"propertyName": "SN_DONT_POLL",
				"propertyValue": "true"
			},
			{
				"propertyName": "SN_URL",
				"propertyValue": "http://myServiceNow.atlassian.net"
			},
			{
				"propertyName": "SN_USER_NAME",
				"propertyValue": "username"
			}
		]
	}

When we run a PATCH request at the following URL

http://host:port/flexdeploy/rest/v1/topology/integrations/cmsinstance/11223

And the PATCH request receives the following JSON Change Management System object,

Code Block
themeEclipse
titleChange Management System - 11223
{
	"instanceName": "NewNameFromPatch",
	"properties":
	[
		{
			"propertyName": "SN_PASSWORD",
			"propertyValue": "newpassword"
		}
	]
}

The PATCH request would then update the Change Management System with Id 11223 and return the  following JSON Change Management System object.

Code Block
themeEclipse
titleChange Management System - 11223
{
		"instanceId": 11223,
		"instanceCode": "CMS Code",
		"instanceName": "NewNameFromPatch",
		"cmsSystemId": 1,
		"description": "JSON of data before a PATCH has occurred",
		"isActive": true,
		"properties":
		[
			{
				"propertyName": "SN_PASSWORD",
				"propertyValue": "*****"
			},
			{
				"propertyName": "SN_PORT",
				"propertyValue": "1234"
			},
			{	
				"propertyName": "SN_REJECTED_SCRIPT",
				"propertyValue": "rejectedScript.bat"
			},
			{
				"propertyName": "SN_APPROVED_SCRIPT",
				"propertyValue": "approvedScript.bat"
			},
			{
				"propertyName": "SN_DONT_POLL",
				"propertyValue": "true"
			},
			{
				"propertyName": "SN_URL",
				"propertyValue": "http://myServiceNow.atlassian.net"
			},
			{
				"propertyName": "SN_USER_NAME",
				"propertyValue": "username"
			}
		]
	}