...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/v1/project |
Request
POST 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:
...
...
...
...
...
Id of the application the project is in.
*Either applicationId or projectPath is required
...
Fully qualified project path.
*Either applicationId or projectPath is required
...
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.
*Required for partial deployment projects
...
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.
Note: If scmType is specified, at least one SCM source must be provided.
...
ProjectBuildInfo
...
ProjectDeployInfo
...
UtilityProjectExecutionInfo
...
ProjectSCMPojo
...
ProjectSCMConfig
...
ProjectSCMConfigValue
...
Response Codes
...
Example
If a POST request is sent to http://host:port/flexdeploy/rest/v1/project/10002 receiving the following JSON project object,
...
theme | Eclipse |
---|---|
title | POST JSON |
...
This POST service will create a new project with the same attributes as the given JSON object.
Info |
---|
API URLshttp://host:port/flexdeploy/rest/v1/project |
Request
POST 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 | Required | Type | Description |
---|---|---|---|
projectName | Yes | String | Unique name of the project. |
applicationId | No* | Long | Id of the application the project is in. *Either applicationId or projectPath is required |
projectPath | No* | String | Fully qualified project path. *Either applicationId or projectPath is required |
isActive | No | Boolean | Boolean that tracks whether or not the project is active. Null input defaults to true. |
packageBuildType | No | String | String that defines usage of packages and build or deployments of packages. Possible values are ALL, PACKAGE, or BOTH. Defaults to Project Default or BOTH if Project Default is empty. |
description | No | String | Description of the project. |
projectClassification | Yes | String | The classification of the project, such as "Standard" or "PartialDeployments" |
priority | No | Integer | Deploy priority of the project. Default value is 1. |
webhooksEnabled | No | Boolean | Whether or not webhooks are enabled. Null input defaults to false. |
projectBuildSequence | No | Integer | Set the initial value for the ProjectBuildSequence variable which can be used in stream syntax scripts. Defaults to 1 if not passed. |
projectType | No* | ProjectTypeEnum | Type of project. Possible values are GENERAL, EBS, PARTIAL_FILE, PARTIAL_JDBC, OracleForms, ORACLE_DB, ORACLE_BI, ORACLE_APEX, MFT, SALESFORCE, MDS, or GENERIC. *Required for partial deployment projects |
scmType | No | 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, PVCS, FILE, or NONE. Note: If scmType is specified, at least one SCM source must be provided. |
priorityScope | No | String | This specifies the priority scope of the current project. Either Global, Folder, or Application. Defaults to Application. |
buildInfo | No | ProjectBuildInfo | Build info for the project. See more info about the ProjectBuildInfo object below. |
preDeployInfo | No | ProjectPreDeployInfo | PreDeploy info for the project. See more info about the ProjectPreDeployInfo object below. |
deployInfo | No | ProjectDeployInfo | Deploy info for the project. See more info about the ProjectDeployInfo object below. |
utilityExecutionInfo | No | UtilityProjectExecutionInfo | Execution info for a utility project. See more info about the UtilityProjectExecutionInfo object below. |
mainStreamName | No | String | Name of the main stream for the project. Defaults to master. |
scmConfiguration | No | ProjectSCMPojo | SCM configuration for the project. See more info about the ProjectSCMPojo object below. |
containerConfiguration | No | ContainerConfiguration | Container configuration for the project. See more info about the ContainerConfiguration type below. |
ProjectBuildInfo
Attribute | Required | Type | Description |
---|---|---|---|
workflowId | Yes | Long | Id of the build workflow used by this project. |
instanceId | Yes | Long | Id of the instance where this project is built. |
ProjectPreDeployInfo
Attribute | Required | Type | Description |
---|---|---|---|
workflowId | Yes | Long | Id of the predeployment workflow used by this project. Note - If predeploy workflow is used, then ProjectDeployInfo.instanceIds is needed |
ProjectDeployInfo
Attribute | Required | Type | Description |
---|---|---|---|
workflowId | Yes | Long | Id of the deployment workflow used by this project. |
instanceIds | Yes | List<Long> | Id of each of the instances where the project can be deployed. |
UtilityProjectExecutionInfo
Attribute | Required | Type | Description |
---|---|---|---|
workflowId | Yes | Long | Id of the utility workflow used by this project. |
instanceIds | Yes | List<Long> | Id of each of the utility instance where this project can be run. |
ProjectSCMPojo
Attribute | Required | Type | Description |
---|---|---|---|
sources | Yes | List<ProjectSCMConfig> | List of SCM configuration sources. See more info about the ProjectSCMConfig object below. |
ProjectSCMConfig
Attribute | Required | Type | Description |
---|---|---|---|
instanceId | Yes | Long | SCM instance id for this source. |
configValues | No | List<ProjectSCMConfigValue> | Configuration values for each SCM source. See more info about the ProjectSCMConfigValue object below. |
sourceNumber | No | Integer | Number for the source. Source numbers start at 1 and increment for each source after that. |
ProjectSCMConfigValue
Attribute | Required | Type | Description |
---|---|---|---|
configName | Yes | String | Name of the configuration attribute. |
configValue | No | String | Value of the configuration attribute. |
ContainerConfiguration
Attribute | Required | Type | Description |
---|---|---|---|
dockerFile | Yes | String | Name of the dockerfile |
dockerStreams | Yes | List<DockerStream> | Information about the docker streams. See more info about the DockerStream type below. |
kubernetesConfiguration | No | KubernetesConfiguration | Configuration for Kubernetes. See more info about the KubernetesConfiguration type below. |
DockerStream
Attribute | Type | Description |
---|---|---|
streamId | Long | Id of the stream. |
streamName | String | Name of the stream. |
imageName | String | Name of the image. |
isImageBuild | Boolean | If the image will build. |
isImagePush | Boolean | If the image will push. Null if isImageBuild is false. |
isTagLatest | Boolean | If the image will be tagged as latest |
registryAccount | String | The Docker Registry Account Code to push to. |
imageScan | Boolean | If the image will be scanned with Anchore. |
container | DockerStreamContainer | Container configuration during deployment |
DockerStreamContainer
Attribute | Type | Description |
---|---|---|
runContainer | Boolean | Run a container with this image during deployment |
containerName | String | Groovy Script of the container name to run |
volumes | String | Groovy Script of the volumes to bind to the container |
ports | Boolean | Groovy Script of the ports to bind to the container |
additionalParams | Boolean | Groovy Script for any additional arguments to pass the run container command |
KubernetesConfiguration
Attribute | Required | Type | Description |
---|---|---|---|
deploymentName | No | String | Name of the deployment. |
manifestsToDeploy | No | List<String> | Manifests to deploy. |
blueGreenManifests | No | List<String> | Blue green manifests. |
canaryManifests | No | List<String> | Canary manifests. |
abmanifests | No | List<String> | AB manifests. |
helmConfiguration | Yes | HelmConfiguration | The helm configuration. See more info about the HelmConfiguration type below. |
HelmsConfiguration
Attribute | Required | Type | Description |
---|---|---|---|
chart | Yes | String | Name of the chart. |
releaseName | Yes | String | Name of the release. |
parametersMap | No | List<ParameterMap> | All of the parameter mappings. See more info about the ParmaterMap type below. |
ParameterMap
Attribute | Required | Type | Description |
---|---|---|---|
key | Yes | String | Key for the parameter map. |
value | Yes | String | Value for the parameter map. |
SCM Configuration Names by Type
Tip |
---|
All values not provided are defaulted. All defaults are configured from the Administration > Defaults page. |
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
Expand | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
Include Page | ||||
---|---|---|---|---|
|
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 a POST request is sent to http://host:port/flexdeploy/rest/v1/project receiving the following JSON project object,
POST JSON
Code Block |
---|
{
"projectName": "Example Project",
"projectPath": "FlexDeploy/Testing/Example Project",
"description": "Project created with API",
"projectClassification": "Standard",
"priority": 2,
"projectType": "EBS",
"scmType": "GIT",
"mainStreamName": "master",
"webhooksEnabled": true,
"buildInfo": {
"instanceId": 15925,
"workflowId": 43164
},
"deployInfo": {
"instanceIds": [80524, 93048],
"workflowId": 34540
},
"preDeployInfo": {
"workflowId": 42978
},
"scmConfiguration": {
"sources": [
{
"instanceId": 16465,
"configValues": [
{
"configName": "SparseCheckoutFoldersScript",
"configValue": "\"mainfolder/main\""
}
],
"sourceNumber": 1
},
{
"instanceId": 46947,
"configValues": [
{
"configName": "SparseCheckoutFoldersScript",
"configValue": "\"EBS\""
}
],
"sourceNumber": 2
}
]
},
"containerConfiguration": {
"dockerfile": "docker file name"
"dockerStreams": [
{
"isImageBuild": true,
"isImagePush": false,
"streamName": "master",
"streamId": 12345,
"imageName": "image name"
}
],
"kubernetesConfiguration": {
"manifestsToDeploy": [
"deploymanifest1"
],
"blueGreenManifests": [
"bluegreenmanifest1",
"bluegreenmanifest2"
],
"canaryManifests": [
"canarymanifest1"
],
"abmanifests": [
"abmanifest1",
"abmanifest2",
"abmanifest3"
],
"helmConfiguration": {
"parametersMap": [
{
"key": "key1",
"valueScript": "value1"
},
{
"key": "key2",
"valueScript": "value2"
}
],
"releaseName": "release name",
"chart": "chart name"
},
"deploymentName": "deployment name"
}
}
}
|
the following project object will then be created in FlexDeploy:
POST JSON
Code Block |
---|
{ "projectName": "Example Project", "projectId": 10002, "projectPath": "FlexDeploy/Testing/Example Project", "description": "Project created with API", "isActive": true, "projectClassification": "Standard", "priority": 2, "projectType": "EBS", "priorityScope": "Application", "applicationId": 14852, "scmType": "GIT", "mainStreamName": "master", "webhooksEnabled": true, "streams": [73419], "buildInfo": { "instanceId": 15925, "workflowId": 43164 }, "deployInfo": { "instanceIds": [80524, 93048], "workflowId": 34540 }, "preDeployInfo": { "workflowId": 42978 }, "utilityExecutionInfo": null, "scmConfiguration": { "sources": [ { "instanceId": 16465, "configValues": [ { "configName": "SparseCheckoutFoldersScript", "configValue": "\"mainfolder/main\"" } ], "sourceNumber": 1 }, { "instanceId": 46947, "configValues": [ { "configName": "SparseCheckoutFoldersScript", "configValue": "\"EBS\"" } ], "sourceNumber": 2 } ] }, "containerConfiguration": { "dockerfile": "docker file name" "dockerStreams": [ { "isImageBuild": true, "isImagePush": false, "streamName": "master", "streamId": 12345, "imageName": "image name" } ], "kubernetesConfiguration": { "instanceIdmanifestsToDeploy": 16465,[ "configValuesdeploymanifest1": [ ], { "blueGreenManifests": [ "bluegreenmanifest1", "configName": "SparseCheckoutFolderScript", "bluegreenmanifest2" ], "configValue": "\"mainfolder/main\"" "canaryManifests": [ } "canarymanifest1" ], ], "sourceNumberabmanifests": 1[ } "abmanifest1", ] } } |
the following project object will then be created in FlexDeploy:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "projectName": "Example Project"abmanifest2", "projectPath": "/FlexDeploy/Testing", "description": "Project created with API", "isActiveabmanifest3": true, "partialDeployment": true, "priority": 1], "projectType": "EBS", "priorityScopehelmConfiguration": "Application",{ "applicationId": 14852, "scmType": "GIT", "mainStreamNameparametersMap": "master",[ "buildInfo": { "instanceId": 15925, { "workflowId": 43164 }, "deployInfo": { "instanceIdkey": 80524,"key1", "workflowId": 34540 }, "scmConfigurationvalueScript": {"value1" "sources": [ }, { "instanceId": 16465, { "configValues": [ "key": "key2", { "valueScript": "value2" "configName": "SparseCheckoutFolderScript", } "configValue": "\"mainfolder/main\"" ], "releaseName": "release }name", ], "chart": "chart name" }, "sourceNumber": 1 "deploymentName": "deployment name" } ]} } } |