buildProject (version 0)

This POST service will perform the same action found on the Build Request Form. It will initiate a request to build the project selected in the qualifiedProjectName. The service will return the workflowRequestId which can be used by the getWorkflowRequestStatus (version 0) call to determine when the workflow is complete.

This page includes examples for Full and buildProject (version 0)#Partial deploy project builds.

API URL

http://host:port/flexdeploy/rest/workflow/buildProject

Full Project Build JSON Request


{

"authentication": { "userId":"fdadmin", "password":"password1" },

Opening bracket

Authentication section, used on all types of requests.

Required parameters for full deployment.

If building a partial deployment project, see the Partial deployment example instead.

"environmentCode":"DEV",

"qualifiedProjectName":"/FlexDeploy/folder1/myApp/SimpleProj",

"streamName": "trunk",

Build in the DEV environment.

The full path of the FlexDeploy project to build.

Build from stream trunk.

Optionally, include any of this information.

Verify that your json is valid; check for trailing commas if you don't include this section.

"workflowVersionOverride":"1.8",

"forceBuild": false,

"releaseName": "Demo Release",

"relatedTickets":["DEMO-1","DEMO-2"],

"inputs": [
{

   "code":"input1","value": "xyz"

},
{

   "code":"input2","value": "123"

}],

"flexFields":[

{

   "code":"REQ", "value":"1500"

}]

Version of the workflow to run. Defaults to the currently active version.

boolean equivalent to Force Build checkbox in the UI. Defaults to false.

Name of the release to which this build is related to. If specified, a new snapshot is going to be created.

List of Issue Tracking Tickets.

List of workflow Input Codes to set

An input named "input1" is being set to "xyz"


An input named "input2" is being set to "123"





List of FlexField Codes to set

A build-scoped FlexField named "REQ" is being set to "1500"

}Closing bracket

Partial Project Build JSON Request


{

"authentication": { "userId":"fdadmin", "password":"password1" },

Opening bracket

Authentication section, used on all types of requests.

Required parameters for partial deployment.

If building a full deployment project, see the full deployment example instead.

"environmentCode":"DEV",

"qualifiedProjectName":"/FlexDeploy/folder1/myApp/SimpleProj",

"streamName": "trunk",

"projectFiles":[

{

   "path": "/java/xxt/oracle/xxPersonMainCO.java"

},

{

   "path": "/java/xxt/oracle/apps/managePersonCO.java",
   "scmRevision": "1515"

}]

Build in the DEV environment.

The full path of the FlexDeploy project  to build.


Build from stream trunk.

List of Project Files to include in the build, and optionally their versions.


Include the file with path "/java/xxt/oracle/xxPersonMainCO.java"



Include SCM revision 1515 of file managePersonCO.java

Optionally, include any of this information.

Verify that your json is valid; check for trailing commas if you don't include this section.

"workflowVersionOverride":"1.8",

"forceBuild": false,

"releaseName": "Demo Release",

"relatedTickets":["DEMO-1","DEMO-2"],

"inputs": [
{

   "code":"input1","value": "xyz"

},
{

   "code":"input2","value": "123"

}],

"packageName": "ALM150",

"flexFields":[

{

   "code":"REQ", "value":"1500"

}]

Version of the workflow to run. Defaults to the currently active version.

boolean equivalent to "Force Build" checkbox in the UI. Defaults to false.

Name of the release to which this build is related to. If specified, a new snapshot is going to be created.

List of Issue Tracking Tickets.



List of workflow Input Codes to set

An input named "input1" is being set to "xyz"


An input named "input2" is being set to "123"


Package name to be used for partial deployment project build.


List of FlexField Codes to set

A build scoped FlexField named "REQ" is being set to "1500"

}Closing bracket

Build All for Partial Deploy Project

If trying to build a Partial Deploy project with all of the files in the repository (equivalent to Build All button in the UI), then simply remove the "projectFiles" list, and the REST API will detect that the project is meant for partial deploys automatically and perform the build with all of the files.

Parameters

Parameter

Required

Type

Description

authentication

Y

Object

See Common Parameters below.

environmentCode

Y

String

This is the environment code, not the environment name that you see on most screens.

qualifiedProjectName

Y

String

The qualified project name starts with /FlexDeploy and includes any sub folder, then the application and finally the project.

streamName

Y

String

The name of the Stream.

forceBuild

N

Boolean

Values are true or false. Indicates that the build should occur even if there are not SCM changes. Defaults to false.

relatedTicketsNStringList of Issue Tracking System tickets.
workflowVersionOverride

N

String

Optionally the version of the workflow can be overridden.

inputs

N

Array

See Common Parameters below.

flexFieldsNStringSee Common Parameters below.
projectFilesN1Array

Required for partial deployment builds.

An array of objects with 2 fields each: path and scmRevision.

    pathY2StringFully qualified file path that is required inside the projectFiles parameter.
    scmRevisionNLong

Optionally include the revision number that you would like to use for the build.

If it is not indicated, then FlexDeploy will use the latest revision as the default.

packageNameNString

Unique name to identify a build for partial deployments project. Defaults to the project version if no value is provided.

If package name is provided without project files, files configured in that project will be used.

If package name is provided with project files, then input is used for build and package definition is updated with this projectFiles list.

releaseNameNStringName of the release to which this build is related to. If specified, a new snapshot is going to be created.
  1. projectFiles is required only for partial deployment projects.
  2. path is only required when using projectFiles.

Examples

Partial project build request with package name and files
{
    "authentication": { "userId":"fdadmin", "password":"welcome1" },
    "environmentCode":"DEV",
    "qualifiedProjectName":"/FlexDeploy/EBS/XXHR",
    "streamName": "trunk",
    "packageName" : "ALM200",
    "projectFiles":[
    {
       "path": "/java/xxt/oracle/apps/ak/xxperson/schema/server/xxPersonDetailsEO.xml"
    },
    {
       "path": "/java/xxt/oracle/apps/ak/xxperson/schema/server/xxPersonDetailsEOImpl.java"
    }]
}
Partial project build request with package name without files
{
    "authentication": { "userId":"fdadmin", "password":"welcome1" },
    "environmentCode":"DEV",
    "qualifiedProjectName":"/FlexDeploy/EBS/XXHR",
    "streamName": "trunk",
    "packageName" : "ALM200",
}
Regular project build request
{
    "authentication": { "userId":"fdadmin", "password":"welcome1" },
    "environmentCode":"DEV",
    "qualifiedProjectName":"/FlexDeploy/HR/HRJavaApp",
    "streamName": "trunk"
}

Common Parameters

Authentication

The authentication parameter is comprised of 2 fields.

  • userId – a valid user id for FlexDeploy
  • password – the associated password

Inputs

This is a list of code/value pairs for the inputs. Not all inputs need to be supplied. If an input has a default value that is acceptable for the Workflow to run, it does not need to be supplied.

FlexFields

This is a list of the code/value pairs for the Flexfields (not the Display Name). Not all FlexFields need to be supplied. If a FlexField has a default value or options that are acceptable for the workflow to run, it does not need to be changed. Read more about FlexFields.