Versions Compared

Key

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

Project Properties can be accessed and modified through this API using three services: GET,PUT, and PATCH. These three services allow for the retrieval, complete update, and partial update of Project Properties.

...

If we had a Project in our database with an Id of 11101 and the following properties.

Code Block
themeEclipse
titleProject 11101 Properties
	{
      "propertyName": "Approved Check Script",
      "propertyValue": "MyCheckScript"
   },
      {
      "propertyName": "ServiceNow Password",
      "propertyValue": "Password"
   },
      {
      "propertyName": "ServiceNow Port",
      "propertyValue": "MyPort"
   },
      {
      "propertyName": "ServiceNow URL",
      "propertyValue": "MyURL"
   },
      {
      "propertyName": "ServiceNow User Name",
      "propertyValue": "MyUserName"
   }

When we run a GET request at the following URL

http://host:port/flexdeploy/rest/v1/project/11101

The GET request would return the following JSON Project Property list

Code Block
themeEclipse
titleProject 11101 Properties GET Return JSON
[
      {
      "propertyName": "Approved Check Script",
      "propertyValue": "MyCheckScript"
   },
      {
      "propertyName": "ServiceNow Password",
      "propertyValue": "*****"
   },
      {
      "propertyName": "ServiceNow Port",
      "propertyValue": "MyPort"
   },
      {
      "propertyName": "ServiceNow URL",
      "propertyValue": "MyURL"
   },
      {
      "propertyName": "ServiceNow User Name",
      "propertyValue": "MyUserName"
   }
]

PUT

...

http://host:port/flexdeploy/rest/v1/project/25262

And the PUT request receives the following JSON Project Properties list

...

Code Block
themeEclipse
titleProject Properties PUT Return JSON
[
      {
      "propertyName": "Approved Check Script",
      "propertyValue": "Put1"
   },
      {
      "propertyName": "ServiceNow Password",
      "propertyValue": "*****"
   },
      {
      "propertyName": "ServiceNow Port",
      "propertyValue": "Put3"
   },
      {
      "propertyName": "ServiceNow URL",
      "propertyValue": "Put4"
   },
      {
      "propertyName": "ServiceNow User Name",
      "propertyValue": "Put5"
   }
]

PATCH

This PATCH service will update an existing Project's Properties with the information passed through a JSON object. If a property is not listed it will not be updated in the Project.

Info
titleAPI URL

http://host:port/flexdeploy/rest/v1/project/{projectid}/property

Request

AttributesTypeRequiredDescription
projectIdURLYesThis is the Id of the Project which will have it's Properties updated.
propertyNameStringNo

This is the name of the type of the single property associated with it. (Can be many)

propertyValueStringNoThis is the value that will be updated to for the property with the associated propertyName. (Can be many)

Include Page
REST V1 Project Properties Response
REST V1 Project Properties Response

Response Codes

HTTP Code
Description
200Project was found and it's Properties were updated
400Bad request
401Authentication failure
403Authorization failure (no access to resource)
404Project not found
500Unexpected internal server error

Example

If we had a Project in our database with an Id of 12723 and had the following attributes

Code Block
themeEclipse
titleProject Properties PATCH JSON
[
      {
      "propertyName": "Approved Check Script",
      "propertyValue": "MyCheckScript"
   },
      {
      "propertyName": "ServiceNow Password",
      "propertyValue": "MyPassword"
   },
      {
      "propertyName": "ServiceNow Port",
      "propertyValue": "MyPort"
   },
      {
      "propertyName": "ServiceNow URL",
      "propertyValue": "MyURL"
   },
      {
      "propertyName": "ServiceNow User Name",
      "propertyValue": "MyUserName"
   }
]

When we run a PATCH request at the following URL

http://host:port/flexdeploy/rest/v1/project/12723

And the PATCH request receives the following JSON Project Properties object,

Code Block
themeEclipse
titleProject PATCH Receive JSON
[ 
   {
       "propertyName": "ServiceNow URL",
       "propertyValue": "PatchedURL"
    },
       {
       "propertyName": "ServiceNow User Name",
       "propertyValue": "PatchedUserName"
    }
]

The PATCH request would then update the specified Project's Properties and return the  following JSON object

Code Block
themeEclipse
titleProject Properties PATCH Return JSON
[
      {
      "propertyName": "Approved Check Script",
      "propertyValue": "MyCheckScript"
   },
      {
      "propertyName": "ServiceNow Password",
      "propertyValue": "MyPassword"
   },
      {
      "propertyName": "ServiceNow Port",
      "propertyValue": "MyPort"
   },
      {
      "propertyName": "ServiceNow URL",
      "propertyValue": "PatchedURL"
   },
      {
      "propertyName": "ServiceNow User Name",
      "propertyValue": "PatchedUserName"
   }
]