Versions Compared

Key

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

AnchorTopTop

Info
titleBase URL for Issue Tracking System Instance REST API

http://host:port/flexdeploy/rest/v1/topology/integrations/itsinstance

Table of Contents
maxLevel2

...


Issue Tracking Systems can be accessed and modified through this API using four services: GET, POST, PUT, and PATCH. These four services allow for the retrieval, creation, complete update, and partial update of Issue Tracking Systems.

...

You can find more information about the REST API functions on the /wiki/spaces/FLEX/pages/392986625page.  

Each function returns a JSON Issue Tracking System object. An Issue Tracking System object has these attributes:

...

Attributes

...

Type

...

Description

...

Include Page
REST V1 Authentication
REST V1 Authentication

Table of Contents
maxLevel2

JIRA

instanceName
Property NameTypeRequiredExample Property Value
JIRA_USER_NAMEStringYes
The code of the Issue Tracking System
username
JIRA_PASSWORD*StringYes
The name of the Issue Tracking SystemissueTrackingSystemId
password
JIRA_PORTIntegerYes
The ID of the type of Issue Tracking Systemdescription
1234
JIRA_TICKET_REST_PATTERNString
NoThe description of the Issue Tracking SystemisActiveBooleanNo**Whether or not this Issue Tracking System is active.propertiesList<Property>No**The properties associated with the type of Issue Tracking System

*unless otherwise stated

**defaults to true

...

titleJIRA

Issue Tracking System ID: 1

...

* the password attribute will come back as ***** when retrieved from FlexDeploy

Back to Top

...

GET

There are two implementations of GET. One will find an Issue Tracking System with the given Id and return the JSON representation of the Issue Tracking System. The other will find a list of Issue Tracking Systems matching the parameters supplied to it.

GET by ID

This GET service will find an Issue Tracking System with the given Id and return the JSON representation of the object.

Info
titleAPI URL

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

Parameters

Parameter
Required
Type
Description
IdYesURLURL parameter for the Id which is used to find and return an issue tracking system Expand
titleGET by ID Example

Example

If we had an Issue Tracking System in our database with an Id of 11101 with the following attributes

Code Block
themeEclipse
titleIssue Tracking System - 11101
{ "instanceId": 11101, "
Yes/rest/api/2/issue/{JIRA_ISSUE}
JIRA_TICKET_URL_PATTERNStringYes/browse/{JIRA_ISSUE}
JIRA_URLStringYeshttp://myjira.atlassian.net

GET

There are two implementations of GET. One will find an Issue Tracking System with the given Id and return the JSON representation of the Issue Tracking System. The other will find a list of Issue Tracking Systems matching the parameters supplied to it.

GET by ID

This GET service will find an Issue Tracking System with the given Id and return the JSON representation of the object.

Info
titleAPI URL

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

Request

Parameter
Required
Type
Description
IdYesURLURL parameter for the Id which is used to find and return an issue tracking system

Include Page
REST V1 ITS Instance Response
REST V1 ITS Instance Response

Expand
titleGET by ID Example

Example

If we had an Issue Tracking System in our database with an Id of 11101 with the following attributes

Code Block
themeEclipse
titleIssue Tracking System - 11101
{
	"instanceId": 11101,
	"instanceCode": "ITS",
	"instanceName": "ITS Name",
	"issueTrackingSystemId": 1,
	"description": "ITS example",
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "JIRA_PASSWORD",
			"propertyValue": "*****"
		},
		{
			"propertyName": "JIRA_PORT",
			"propertyValue": "1234"
		},
		{
			"propertyName": "JIRA_TICKET_REST_PATTERN",
			"propertyValue": "/rest/api/2/issue/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_TICKET_URL_PATTERN",
			"propertyValue": "/browse/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_URL",
			"propertyValue": "http://myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_USER_NAME",
			"propertyValue": "username"
		}
	]
}


When we run a GET request at the following URL

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

The GET request would return the following JSON Issue Tracking System object

Code Block
themeEclipse
titleIssue Tracking System - 11101
{
	"instanceId": 11101,
	"instanceCode": "ITS",
	"instanceName": "ITS Name",
	"issueTrackingSystemId": 1,
	"description": "ITS example",
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "JIRA_PASSWORD",
			"propertyValue": "*****"
		},
		{
			"propertyName": "JIRA_PORT",
			"propertyValue": "1234"
		},
		{
			"propertyName": "JIRA_TICKET_REST_PATTERN",
			"propertyValue": "/rest/api/2/issue/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_TICKET_URL_PATTERN",
			"propertyValue": "/browse/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_URL",
			"propertyValue": "http://myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_USER_NAME",
			"propertyValue": "username"
		}
	]
}

...


GET by Query Parameters

This GET service will return a list of Issue Tracking Systems in the form of JSON objects based on the query parameters code, name, and issue tracking system type. Issue Tracking 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 Issue Tracking Systems.

Info
titleAPI URL

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

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

instanceCode={instanceCode}

instanceName={instanceName}

itsName={itsName}

Examples:
To specify the code parameter only:

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

To specify the code and name parameters:

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

To specify the issue tracking system name only:

http://host:port/flexdeploy/rest/v1/topology/integrations/itsinstance?itsName={itsName}


Tip

The query parameters are not case sensitive. Searching by instanceName=NAME is the same as searching by instanceName=name.

Parameters

Request

Parameter
Required
Type
Description
instanceCodeNoURLThis is a URL query parameter for the instance code which is used to search the issue tracking systems.
instanceNameNoURLThis is a URL query parameter for the instance name which is used to search the issue tracking systems.
itsNameNoURLThis is a URL query parameter for the issue tracking system name which is used to search the issue tracking systems.systems.

Include Page
REST V1 ITS Instance Response
REST V1 ITS Instance Response

Example

...

Output when the Group Code was made "Group" through http://host:port/flexdeploy/rest/v1/topology/integrations/itsinstance?itsName=Jira

Code Block
themeEclipse
titleIssue Tracking System - 11101
[
	{
		"instanceId": 11101,
		"instanceCode": "ITS",
		"instanceName": "ITS Name",
		"issueTrackingSystemId": 1,
		"description": "ITS example",
		"isActive": true,
		"properties":
		[
			{
				"propertyName": "JIRA_PASSWORD",
				"propertyValue": "*****"
			},
			{
				"propertyName": "JIRA_PORT",
				"propertyValue": "1234"
			},
			{
				"propertyName": "JIRA_TICKET_REST_PATTERN",
				"propertyValue": "/rest/api/2/issue/{JIRA_ISSUE}"
			},
			{
				"propertyName": "JIRA_TICKET_URL_PATTERN",
				"propertyValue": "/browse/{JIRA_ISSUE}"
			},
			{
				"propertyName": "JIRA_URL",
				"propertyValue": "http://myjira.atlassian.net"
			},
			{
				"propertyName": "JIRA_USER_NAME",
				"propertyValue": "username"
			}
		]
	},
	{ 
		"instanceId": 11105,
		"instanceCode": "ITS2", 
		"instanceName": "ITS 2 Name",
		"issueTrackingSystemId": 1,
		"description": "ITS example 2",
		"isActive": true, 
		"properties": 
		[ 
			{ 
				"propertyName": "JIRA_PASSWORD",
				"propertyValue": "*****" 
			},
			{ 
				"propertyName": "JIRA_PORT",
				"propertyValue": "2345"
			},
			{
				"propertyName": "JIRA_TICKET_REST_PATTERN",
				"propertyValue": "/rest/api/2/issue/{JIRA_ISSUE}"
			},
			{
				"propertyName": "JIRA_TICKET_URL_PATTERN",
				"propertyValue": "/browse/{JIRA_ISSUE}"
			},
			{
				"propertyName": "JIRA_URL",
				"propertyValue": "http://myjira.atlassian.net"
			},
			{
			},
			{	"propertyName": "JIRA_USER_NAME",
				"propertyNamepropertyValue": "JIRA_URL",
				"propertyValue": "http://myjira.atlassian.net"
			},
			{
				"propertyName": "JIRA_USER_NAME",
				"propertyValue": "admin"
			}
		]
	}
]

Back to Top

...

POST

The POST service will create a new issue tracking system with the same attributes as the given JSON object. It returns the JSON representation of the issue tracking system that was just created with an updated ID attribute.

Info
titleAPI URL
http://host:port/flexdeploy/rest/v1/topology/integrations/itsinstance
admin"
			}
		]
	}
]

POST

The POST service will create a new issue tracking system with the same attributes as the given JSON object. It returns the JSON representation of the issue tracking system that was just created with an updated ID attribute.

Info
titleAPI URL

http://host:port/flexdeploy/rest/v1/topology/integrations/itsinstance

Request

Attributes
Type
Required
Description
instanceCodeStringYesThe code of the Change Management System.
instanceNameStringYesThe name of the Change Management System.
cmsSystemIdIntegerYesThe ID of the type of Change Management System.
descriptionStringNoThe description of the Change Management System.
isActiveBooleanYesWhether or not this Change Management System is active. Defaults to true.
propertiesList<PropertyValue>DependsThe properties associated with the type of Change Management System: requirements depend on the Change Management System selected.

Include Page
REST V1 ITS Instance Response
REST V1 ITS Instance Response

Expand
titlePOST Example

If the POST receives the following JSON issue tracking system object,

Code Block
themeEclipse
titleIssue Tracking System - 11101
{
	"instanceId": 1,
	"instanceCode": "ITS",
	"instanceName": "ITS Name",
	"issueTrackingSystemId": 1,
	"description": "ITS example",
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "JIRA_PASSWORD",
			"propertyValue": "password"
		},
		{
			"propertyName": "JIRA_PORT",
			"propertyValue": "1234"
		},
		{
			"propertyName": "JIRA_TICKET_REST_PATTERN",
			"propertyValue": "/rest/api/2/issue/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_TICKET_URL_PATTERN",
			"propertyValue": "/browse/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_URL",
			"propertyValue": "http://myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_USER_NAME",
			"propertyValue": "username"
		}
	]
}

the following Issue Tracking System will be created in the database and returned. Notice the updated Instance Id field and changed password.


{
Code Block
themeEclipse
titleIssue Tracking System - 11101
System - 11101
{
	"instanceId": 11101,
	"instanceCode": "ITS",
	"instanceName": "ITS Name",
	"instanceIdissueTrackingSystemId": 111011,
	"instanceCodedescription": "ITS example",
	"isActive": true,
	"instanceNameproperties":
"ITS Name	[
		{
			"propertyName": "JIRA_PASSWORD",
			"issueTrackingSystemIdpropertyValue": 1 "*****"
		},
	"description	{
			"propertyName": "ITS exampleJIRA_PORT",
			"isActivepropertyValue": true,
	"properties1234":
	[	},
		{
			"propertyName": "JIRA_TICKET_REST_PASSWORDPATTERN",
			"propertyValue": "*****/rest/api/2/issue/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_TICKET_URL_PORTPATTERN",
			"propertyValue": "1234/browse/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_TICKET_REST_PATTERNURL",
			"propertyValue": "http:/rest/api/2/issue/{JIRA_ISSUE}/myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_TICKETUSER_URL_PATTERNNAME",
			"propertyValue": "/browse/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_URL",
			"propertyValue": "http://myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_USER_NAME",
			"propertyValue": "username"
		}
	]
}

Back to Top

...

PUT

This PUT service will update all attributes of an issue tracking system with the given Id based on the attributes of the supplied JSON object.

Info
titleAPI URL
http://host:port/flexdeploy/rest/v1/topology/integrations/itsinstance/{Id}
: "username"
		}
	]
}


PUT

This PUT service will update all attributes of an issue tracking system with the given Id based on the attributes of the supplied JSON object.

Info
titleAPI URL

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

Request

Attributes
Type
Required
Description
instanceCodeStringYesThe code of the Change Management System.
instanceNameStringYesThe name of the Change Management System.
cmsSystemIdIntegerYesThe ID of the type of Change Management System.
descriptionStringNoThe description of the Change Management System.
isActiveBooleanYesWhether or not this Change Management System is active. Defaults to true.
propertiesList<PropertyValue>DependsThe properties associated with the type of Change Management System: requirements depend on the Change Management System selected.

Include Page
REST V1 ITS Instance Response
REST V1 ITS Instance Response

Expand
titlePUT Example

Example

If we had an issue tracking system in our database with an Id of 11223 and had the following attributes

Code Block
themeEclipse
titleIssue Tracking System - 11223
{
	"instanceId": 11223,
	"instanceCode": "ITS",
	"instanceName": "ITS Name",
	"issueTrackingSystemId": 1,
	"description": "ITS example",
	"isActive": false,
	"properties":
	[
		{
			"propertyName": "JIRA_PASSWORD",
			"propertyValue": "*****"
		},
		{
			"propertyName": "JIRA_PORT",
			"propertyValue": "1234"
		},
		{
			"propertyName": "JIRA_TICKET_REST_PATTERN",
			"propertyValue": "/rest/api/2/issue/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_TICKET_URL_PATTERN",
			"propertyValue": "/browse/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_URL",
			"propertyValue": "http://myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_USER_NAME",
			"propertyValue": "username"
		}
	]
}

When we run a PUT request at the following URL

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

And the PUT request receives the following JSON issue tracking system object,

Code Block
themeEclipse
titleIssue Tracking System - 11223
{
	"instanceId": 1,
	"instanceCode": "NEWITS",
	"instanceName": "New Name",
	"issueTrackingSystemId": 1,
	"description": "PUT example",
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "JIRA_PASSWORD",
			"propertyValue": "updatedpassword"
		},
		{
			"propertyName": "JIRA_PORT",
			"propertyValue": "1234"
		},
		{
			"propertyName": "JIRA_TICKET_REST_PATTERN",
			"propertyValue": "/rest/api/2/issue/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_TICKET_URL_PATTERN",
			"propertyValue": "/browse/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_URL",
			"propertyValue": "http://myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_USER_NAME",
			"propertyValue": "username"
		}
	]
}

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

{ "instanceId": 11223
Code Block
themeEclipse
titleIssue Tracking System - 11223
Issue Tracking System - 11223
{
	"instanceId": 11223,
	"instanceCode": "NEWITS",
	"instanceName": "New Name",
	"issueTrackingSystemId": 1,
	"instanceCodedescription": "PUT example",
	"NEWITSisActive": true,
	"instanceNameproperties":
	[
"New Name		{
			"propertyName": "JIRA_PASSWORD",
			"issueTrackingSystemIdpropertyValue": 1,
	"description "*****"
		},
		{
			"propertyName": "PUT exampleJIRA_PORT",
			"isActivepropertyValue": true,
	"properties1234":
		[},
		{
			"propertyName": "JIRA_TICKET_PASSWORDREST_PATTERN",
			"propertyValue": "*****/rest/api/2/issue/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_PORTTICKET_URL_PATTERN",
			"propertyValue": "1234/browse/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_TICKET_REST_PATTERNURL",
			"propertyValue": "/rest/api/2/issue/{JIRA_ISSUE}http://myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_TICKETUSER_URL_PATTERNNAME",
			"propertyValue": "/browse/{JIRA_ISSUE}username"
		},
		{
			"propertyName": "JIRA_URL",
			"propertyValue": "http://myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_USER_NAME",
			"propertyValue": "username"
		}
	]
}

Back to Top

...

PATCH

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

Info
titleAPI URL

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

...

]
}


PATCH

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

Info
titleAPI URL

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


Tip

The only required attribute is the Instance Id in the URL.

Request

Attributes
Type
Required
Description
instanceCodeStringNoThe code of the Change Management System.
instanceNameStringNoThe name of the Change Management System.
cmsSystemIdIntegerNoThe 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<PropertyValue>NoThe properties associated with the type of Change Management System: requirements depend on the Change Management System selected.

Include Page
REST V1 ITS Instance Response
REST V1 ITS Instance Response

Expand
titlePATCH Example

Example

If we had an issue tracking system in our database with an Id of 11223 and had the following attributes

Code Block
themeEclipse
titleIssue Tracking System - 11223
{
	"instanceId": 11223,
	"instanceCode": "NEWITS",
	"instanceName": "New Name",
	"issueTrackingSystemId": 1,
	"description": "PUT example",
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "JIRA_PASSWORD",
			"propertyValue": "*****"
		},
		{
			"propertyName": "JIRA_PORT",
			"propertyValue": "1234"
		},
		{
			"propertyName": "JIRA_TICKET_REST_PATTERN",
			"propertyValue": "/rest/api/2/issue/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_TICKET_URL_PATTERN",
			"propertyValue": "/browse/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_URL",
			"propertyValue": "http://myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_USER_NAME",
			"propertyValue": "username"
		}
	]
}

When we run a PATCH request at the following URL

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

And the PATCH request receives the following JSON issue tracking system object,

Code Block
themeEclipse
titleIssue Tracking System - 11223
{
	"instanceId": null,
	"instanceCode": null,
	"instanceName": "Updated Password",
	"issueTrackingSystemId": null,
	"description": null,
	"isActive": null,
	"properties":
	[
		{
			"propertyName": "JIRA_PASSWORD",
			"propertyValue": "newpassword"
		}
	]
}

The PATCH request would then update the issue tracking system with Id 11223 and return the  following JSON issue tracking system object.

Code Block
themeEclipse
titleIssue Tracking System - 11223
{
	"instanceId": 11223,
	"instanceCode": "NEWITS",
	"instanceName": "Updated Password",
	"issueTrackingSystemId": 1,
	"description": "PUT example",
	"isActive": true,
	"properties":
	[
		{
			"propertyName": "JIRA_PASSWORD",
			"propertyValue": "*****"
		},
		{
			"propertyName": "JIRA_PORT",
			"propertyValue": "1234"
		},
		{
			"propertyName": "JIRA_TICKET_REST_PATTERN",
			"propertyValue": "/rest/api/2/issue/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_TICKET_URL_PATTERN",
			"propertyValue": "/browse/{JIRA_ISSUE}"
		},
		{
			"propertyName": "JIRA_URL",
			"propertyValue": "http://myjira.atlassian.net"
		},
		{
			"propertyName": "JIRA_USER_NAME",
			"propertyValue": "username"
		}
	]
}
Back to Top