Project API PATCH
This PATCH service will update an existing project with the information passed through a JSON object. PATCH will only modify the attributes provided in input, and leave all other project attributes unchanged.
API URLs
http://host:port/flexdeploy/rest/v1/project/{projectId}
Request
PATCH will receive a project input JSON object and return a project JSON object. Project input JSON objects for the request can have the following attributes:
Parameter | Type | Description |
---|---|---|
projectId | URL | Id of the project to patch. |
projectName | String | Unique name of the project. |
applicationId | Long | Id of the application the project is in. |
projectPath | String | Fully qualified project path. |
isActive | Boolean | Boolean that tracks whether or not the project is active. Null input defaults to true. |
description | String | Description of the project. |
priority | Integer | Deploy priority of the project. Null input defaults to 1. |
projectType | ProjectTypeEnum | Type of project. Possible values are GENERAL, EBS, PARTIAL_FILE, PARTIAL_JDBC, OracleForms, ORACLE_DB, ORACLE_BI, ORACLE_APEX, MFT, SALESFORCE, UTILITY, MDS, or GENERIC. |
scmType | SCMTypeEnum | This specifies the source control management system used by this project. Must be a valid source control management system. Possible values are SVN, GIT, CVS, TFVC, PERF, CCUCM, PVCS, FILE, or NONE. |
priorityScope | String | This specifies the priority scope of the current project. Either Global, Folder, or Application. Null input defaults to Application. |
buildInfo | ProjectBuildInfo | Build info for the project. See more info about the ProjectBuildInfo object below. |
deployInfo | ProjectDeployInfo | Deploy info for the project. See more info about the ProjectDeployInfo object below. |
utilityExecutionInfo | UtilityProjectExecutionInfo | Execution info for a utility project. See more info about the UtilityProjectExecutionInfo object below. |
mainStreamName | String | Name of the main stream for the project. Null input defaults to master. |
scmConfiguration | ProjectSCMPojo | SCM configuration for the project. See more info about the ProjectSCMPojo object below. |
ProjectBuildInfo
Attribute | Type | Description |
---|---|---|
buildWorkflowId | Long | Id of the build workflow used by this project. |
buildInstanceId | Long | Id of the instance where this project is built. |
ProjectDeployInfo
Attribute | Type | Description |
---|---|---|
deployWorkflowId | Long | Id of the deployment workflow used by this project. |
deployInstanceIds | List<Long> | Id of each of the instances where the project can be deployed. New instance ids will be added to the existing list of instance ids for deployment. |
UtilityProjectExecutionInfo
Attribute | Type | Description |
---|---|---|
utilityWorkflowId | Long | Id of the utility workflow used by this project. |
utilityInstanceIds | List<Long> | Id of each of the utility instance where this project can be run. New instance ids will be added to the existing list of instance ids. |
ProjectSCMPojo
Attribute | Type | Description |
---|---|---|
sources | List<ProjectSCMConfig> | List of SCM configuration sources. See more info about the ProjectSCMConfig object below. |
ProjectSCMConfig
Attribute | Type | Description |
---|---|---|
instanceId | Long | SCM instance id for this source. |
configValues | List<ProjectSCMConfigValue> | Configuration values for each SCM source. See more info about the ProjectSCMConfigValue object below. |
sourceNumber | Integer | Number for the source. Source numbers start at 1 and increment for each source after that. |
ProjectSCMConfigValue
Attribute | Type | Description |
---|---|---|
configName | String | Name of the configuration attribute. |
configValue | String | Value of the configuration attribute. |
SCM Configuration Names by Type
All values not provided are defaulted. All defaults are configured from the Administration > Defaults page.
Response
Attribute | Type | Description |
---|---|---|
projectId | Long | Id of the project. |
projectName | String | Unique name of the project. |
applicationId | String | Id of the application the project is in. |
projectPath | String | Fully qualified project path. |
isActive | Boolean | Boolean that tracks whether or not the project is active. Null input defaults to true. |
description | String | Description of the project. |
partialDeployment | Boolean | Whether the project allows partial deployments. Null input defaults to false. |
priority | Integer | Deploy priority of the project. |
projectType | ProjectTypeEnum | Type of project. Possible values are GENERAL, EBS, PARTIAL_FILE, PARTIAL_JDBC, OracleForms, ORACLE_DB, ORACLE_BI, ORACLE_APEX, MFT, SALESFORCE, UTILITY, MDS, or GENERIC. |
scmType | SCMTypeEnum | This specifies the source control management system used by this project. Must be a valid source control management system. Possible values are SVN, GIT, CVS, TFVC, PERF, CCUCM, PVCS, FILE, or NONE. |
priorityScope | String | This specifies the priority scope of the current project. Either Global, Folder, or Application. |
buildInfo | ProjectBuildInfo | Build info for the project. See more info about the ProjectBuildInfo object below. |
deployInfo | ProjectDeployInfo | Deploy info for the project. See more info about the ProjectDeployInfo object below. |
utilityExecutionInfo | UtilityProjectExecutionInfo | Execution info for a utility project. See more info about the UtilityProjectExecutionInfo object below. |
streams | List<Long> | List of ids which identify the project streams associated with this project. |
mainStreamName | String | Name of the main stream for the project. |
scmConfiguration | ProjectSCMPojo | SCM configuration for the project. See more info about the ProjectSCMPojo object below. |
ProjectBuildInfo
Attribute | Type | Description |
---|---|---|
buildWorkflowId | Long | Id of the build workflow used by this project. |
buildInstanceId | Long | Id of the instance where this project is built. |
ProjectDeployInfo
Attribute | Type | Description |
---|---|---|
deployWorkflowId | Long | Id of the deployment workflow used by this project. |
deployInstanceIds | List<Long> | Id of each of the instances where the project can be deployed. |
UtilityProjectExecutionInfo
Attribute | Type | Description |
---|---|---|
utilityWorkflowId | Long | Id of the utility workflow used by this project. |
utilityInstanceIds | List<Long> | Id of each of the utility instance where this project can be run. |
ProjectSCMPojo
Attribute | Type | Description |
---|---|---|
sources | List<ProjectSCMConfig> | List of SCM configuration sources. See more info about the ProjectSCMConfig object below. |
ProjectSCMConfig
Attribute | Type | Description |
---|---|---|
instanceId | Long | SCM instance id for this source. |
configValues | List<ProjectSCMConfigValue> | Configuration values for each SCM source. See more info about the ProjectSCMConfigValue object below. |
sourceNumber | Integer | Number for the source. Source numbers start at 1 and increment for each source after that. |
ProjectSCMConfigValue
Attribute | Type | Description |
---|---|---|
configName | String | Name of the configuration attribute. |
configValue | String | Value of the configuration attribute. |
Response Codes
HTTP Code | Description |
---|---|
200 | Projects were found and returned |
400 | Bad request |
401 | Authentication failure |
403 | Authorization failure (no access to resource) |
500 | Unexpected internal server error |
Example
If the following project object exists,
{ "projectName": "Example Project", "projectId": 10002, "projectPath": "FlexDeploy/Testing/Example Project", "description": null, "isActive": true, "partialDeployment": true, "priority": 1, "projectType": "EBS", "priorityScope": "Application", "applicationId": 14852, "scmType": "GIT", "mainStreamName": "master", "streams": [73419], "buildInfo": null, "deployInfo": { "instanceIds": [80524], "workflowId": 34540 }, "utilityExecutionInfo": null, "scmConfiguration": { "sources": [ { "instanceId": 16465, "configValues": [ { "configName": "SparseCheckoutFoldersScript", "configValue": "\"mainfolder/main\"" } ], "sourceNumber": 1 } ] } }
and a PATCH request is sent to http://host:port/flexdeploy/rest/v1/project/10002 receiving the following JSON project object,
{ "projectPath": "/FlexDeploy/REST/Example Project", "description": "Project created with API", "partialDeployment": true, "priority": 2, "projectType": "EBS", "mainStreamName": "master", "buildInfo": { "instanceId": 15925, "workflowId": 43164 }, "scmConfiguration": { "sources": [ { "instanceId": 42863, "configValues": [ { "configName": "SparseCheckoutFoldersScript", "configValue": "\"EBS\"" } ], "sourceNumber": 2 } ] } }
the following project object will then be patched in FlexDeploy:
{ "projectName": "Example Project", "projectPath": "/FlexDeploy/REST/Example Project", "description": "Project created with API", "isActive": true, "partialDeployment": true, "priority": 2, "projectType": "EBS", "priorityScope": "Application", "applicationId": 49628, "scmType": "GIT", "mainStreamName": "master", "buildInfo": { "instanceId": 15925, "workflowId": 43164 }, "deployInfo": { "instanceIds": [80524], "workflowId": 34540 }, "scmConfiguration": { "sources": [ { "instanceId": 16465, "configValues": [ { "configName": "SparseCheckoutFoldersScript", "configValue": "\"mainfolder/main\"" } ], "sourceNumber": 1 }, { "instanceId": 42863, "configValues": [ { "configName": "SparseCheckoutFoldersScript", "configValue": "\"EBS\"" } ], "sourceNumber": 2 } ] } }
- style