Project Properties API

Project Properties API

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.

GET

There is one implementation which will find a list of Project Properties associated with the URL specified Project and return the JSON representation of the list of Project Properties.

GET by ID

This GET service will find list of Project Properties associated with the given Project and return the JSON representation of the list. 

API URL

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

Request

Parameter

Type

Required

Description

Parameter

Type

Required

Description

projectid

URL

Yes

This is a URL parameter for the Project Id which is searched to find and return the Properties associated with it.

Response Codes

HTTP Code

Description

HTTP Code

Description

200

Project was found and its properties returned

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

404

Project was not found with the specified project id

500

Unexpected internal server error

Example

If we had a Project in our database with an Id of 11101 and 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

Project 11101 Properties GET Return JSON
[ { "propertyName": "FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "java", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FD_PARTIAL_FILE_INCLUDES", "propertyValue": "sql", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "instanceId": 5678 } }, { "propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "true", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_RETRY_COUNT_DEFAULT", "propertyValue": 5, "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_EXTENSIONS", "propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_ROOT_TARGET_FOLDER", "propertyValue": "/sql", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "JDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "*****", "credentialId": 49384, "isExpression": false, "overrideDetailsPojo": null } ]

PUT

This PUT service will update the propertyValue of each property in the project associated with the Project id specified in the URL.

API URL

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

Request

Attributes

Type

Required

Description

Attributes

Type

Required

Description

projectid

URL

Yes

This is the Id of the Project which will have it's Properties updated.

properties

List<PropertyValuePojo>

Yes

This is the list of properties being set for the project. Attributes for a property object are described below

PropertyValuePojo

Attributes

Type

Required

Description

Attributes

Type

Required

Description

propertyName

String

Yes

This is the key name of the property

propertyValue

String

No

This is the value that the property with the associated propertyName will be updated to

credentialId

Long

No

The id of the credential associated to this property. Applicable only for encrypted properties

isExpression

Boolean

No

Is the propertyValue a groovy expression? @Since 5.3.0.1

overrideDetails

OverrideDetailsPojo

No*

If you want to update an overridden property, you need to set this. If not it's null. *only required if updating overridden properties.

OverrideDetailsPojo

Attributes

Type

Required

Description

Attributes

Type

Required

Description

environmentId

Long

No*

Id of the environment being overridden. *null if overriding all.

instanceId

Long

No*

Id of the instance being overridden. *null if overriding all.

All unlisted properties for the project will default to null for PUT requests.

Response Codes

HTTP Code

Description

HTTP Code

Description

200

Project was found and its Properties were updated

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

404

Project not found

500

Unexpected internal server error

Example

If we had an Project in our database with a Project Id of 25262 and the following Properties

Sample PUT JSON Request
[ { "propertyName": "FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "java", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FD_PARTIAL_FILE_INCLUDES", "propertyValue": "", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "instanceId": 5678 } }, { "propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "true", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_RETRY_COUNT_DEFAULT", "propertyValue": 5, "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_EXTENSIONS", "propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_ROOT_TARGET_FOLDER", "propertyValue": "/sql", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "JDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "*****", "credentialId": 49384, "isExpression": false, "overrideDetailsPojo": null } ]

When we run a PUT request at the following URL: http://host:port/flexdeploy/rest/v1/project/25262

And the PUT request receives the following JSON Project Properties list

Project 25262 Property PUT Receive JSON
[ { "propertyName": "FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "java", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FD_PARTIAL_FILE_INCLUDES", "propertyValue": "sql", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "instanceId": 5678 } }, { "propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "true", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_RETRY_COUNT_DEFAULT", "propertyValue": 5, "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_EXTENSIONS", "propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "JDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "", "credentialId": 71422, "isExpression": false, "overrideDetailsPojo": null } ]

The PUT request would then update the Project Properties of the Project with Id 25262 and return the following JSON Project Properties list.

Project Properties PUT Return JSON
[ { "propertyName": "FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "java", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FD_PARTIAL_FILE_INCLUDES", "propertyValue": "sql", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "instanceId": 5678 } }, { "propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "true", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_RETRY_COUNT_DEFAULT", "propertyValue": 5, "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_EXTENSIONS", "propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_ROOT_TARGET_FOLDER", "propertyValue": null, "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "JDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "*****", "credentialId": 71422, "isExpression": false, "overrideDetailsPojo": null } ]

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.

API URL

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

Request

Attributes

Type

Required

Description

Attributes

Type

Required

Description

projectId

URL

Yes

This is the Id of the Project which will have it's Properties updated.

properties

List<PropertyValuePojo>

Yes

This is the list of properties being set for the project. Attributes for a property object are described below

PropertyValuePojo

Attributes

Type

Required

Description

Attributes

Type

Required

Description

propertyName

String

Yes

This is the key name of the property

propertyValue

String

No

This is the value that the property with the associated propertyName will be updated to

credentialId

Long

No

The id of the credential associated to this property. Applicable only for encrypted properties

isExpression

Boolean

No

Is the propertyValue a groovy expression? @Since 5.3.0.1

overrideDetails

OverrideDetailsPojo

No*

If you want to update an overridden property, you need to set this. If not it's null. *only required if updating overridden properties.

OverrideDetailsPojo

Attributes

Type

Required

Description

Attributes

Type

Required

Description

environmentId

Long

No*

Id of the environment being overridden. *null if overriding all.

instanceId

Long

No*

Id of the instance being overridden. *null if overriding all.

Response Codes

HTTP Code

Description

HTTP Code

Description

200

Project was found and its Properties were updated

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

404

Project not found

500

Unexpected internal server error

Example

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

Project Properties PATCH JSON
[ { "propertyName": "FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "java", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FD_PARTIAL_FILE_INCLUDES", "propertyValue": "sql", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "instanceId": 5678 } }, { "propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "true", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_RETRY_COUNT_DEFAULT", "propertyValue": 5, "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_EXTENSIONS", "propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_ROOT_TARGET_FOLDER", "propertyValue": null, "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "JDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "*****", "credentialId": 71422, "isExpression": false, "overrideDetailsPojo": null } ]

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,

Project PATCH Receive JSON
[ { "propertyName": "FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "java", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FDJDBC_SQL_ROOT_TARGET_FOLDER", "propertyValue": "/targetfolder", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "JDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "", "credentialId": 80855, "isExpression": false, "overrideDetailsPojo": null } ]

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

Project Properties PATCH Return JSON
[ { "propertyName": "FD_PARTIAL_FILE_EXCLUDES", "propertyValue": "java", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": 1234, "instanceId": 5678 } }, { "propertyName": "FD_PARTIAL_FILE_INCLUDES", "propertyValue": "sql", "credentialId": null, "isExpression": false, "overrideDetailsPojo": { "environmentId": null, "instanceId": 5678 } }, { "propertyName": "FDJDBC_PROPERTY_REPLACEMENT_DEFAULT", "propertyValue": "true", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_RETRY_COUNT_DEFAULT", "propertyValue": 5, "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_EXTENSIONS", "propertyValue": "seq,tbl,idx,typ,tps,tpb,sql,pkh,plb,pks,pkb,pls,pck,fnc,trg,spc,bdy,prc", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "FDJDBC_SQL_ROOT_TARGET_FOLDER", "propertyValue": "/targetfolder", "credentialId": null, "isExpression": false, "overrideDetailsPojo": null }, { "propertyName": "JDBC_ALTERNATE_SCHEMA_PASS", "propertyValue": "*****", "credentialId": 80855, "isExpression": false, "overrideDetailsPojo": null } ]
The following macros are not currently supported in the footer:
  • style