Versions Compared

Key

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

SCM Instances can be accessed and modified through this API using four services: GET, POST, PUT, and PATCH. These four services allow for the retrieval, creation, complete update, and partial update of SCM Instances.

Include Page
REST V1 Authentication
REST V1 Authentication

...

Currently there are 8 different source control management types that are supported in Flex Deploy. The scmType value is shown after the name of each.

ClearCaseUCM (CCUCM)

Property Display NameProperty Key NameData TypeRequiredDescription
ClearCaseUCM URLFDCCUCM_URLStringYesURL of the ClearCase Server.
ClearCaseUCM UserFDCCUCM_USERStringYesClearCase User to connect with.
ClearCaseUCM PasswordFDCCUCM_PASSWORDStringYesClearCase Password for connecting user.

CVS (CVS)

Property Display NameProperty Key NameData TypeRequiredDescription
CVS URLFDCVS_URLStringYesURL to the CVS repository.
CVS UserFDCVS_PASSWORDStringYesCVS repository user.
CVS PasswordFDCVS_USERStringYesCVS repository password.

File System (FILE)

Property NameProperty Key NameData TypeRequiredDescription
File Repository RootFDFILE_REPO_ROOT_FOLDERStringYesLocation on the FlexDeploy server of the repository.

Git (GIT)

Property Display NameProperty Key NameData TypeRequiredDescription
Git URLFDGIT_URLStringYesURL to the Git repository.
Git UserFDGIT_USERStringYes/NoGit repository user.
Git PasswordFDGIT_PASSWORDStringYes/noGit repository password.
Git TimeoutFDGIT_TIMEOUTIntegerNoTimeout for Git command execution.

Perforce (PERF)

Property Display NameProperty Key NameData TypeRequiredDescription
Perforce HostFDPERF_HOSTStringYesHost of the Perforce repository.
Perforce PortFDPERF_PORTStringYesPort of the Perforce repository.
Perforce UserFDPERF_USERStringYesPerforce User to connect with.
Perforce User PasswordFDPERF_PASSWORDStringYesPerforce Password associated with Perforce User.
Perforce SSL ConnectionFDPERF_IS_SSLBooleanYesShould ssl be used connecting to the server.

PVCS (PVCS)

Property Display NameProperty Key NameData TypeRequiredDescription
PVCS Project DatabaseFDPVCS_PROJECT_DATABASEStringYesProject Database Name.
PVCS UserFDPVCS_USERStringYesPVCS user to access ProjectDatabases.
PVCS PasswordFDPVCS_PASSWORDStringYesPVCS password to access ProjectDatabases

Subversion (SVN)

Property Display NameProperty Key NameData TypeRequiredDescription
Subversion URLFDSVN_URLStringYesURL to the Subversion repository.
Subversion UserFDSVN_USERStringYesSubversion repository user.
Subversion PasswordFDSVN_PASSWORDStringYesSubversion repository password.
Subversion Authentication MethodsFDSVN_AUTH_METHODSStringNoOne or more subversion authentication methods. For example, Basic, Digest, Negotiate, NTLM.

TFVC (TFVC)

Property Display NameProperty Key NameData TypeRequiredDescription
TFVC URLFDTFVC_URLStringYesURL to the TFVC repository.
TFVC UserFDTFVC_USERStringYesTFVC repository user.
TFVC PasswordFDTFVC_USERStringYesTFVC repository password.

GET

There are two implementations of GET. One will find a SCM instance with the given Id and return the JSON representation of the SCM instance. The other will find a list of SCM instances matching the parameters supplied to it.

GET (Using Id)

This GET service will find a SCM instance with the given Id and return the JSON representation of the object.

...

Info
titleAPI URLs

http://host:port/flexdeploy/rest/v1/topology/integrations/scminstance?

Append the following character sequences to the above URL to specify Query parameters.
Use '&' between successive query parameters: 

instanceName={name}

instanceCode={code}

scmType={type}

Examples:
To search by code only:

http://host:port/flexdeploy/rest/v1/topology/integrations/scminstance?instanceCode={code}

To search by name only:

http://host:port/flexdeploy/rest/v1/topology/integrations/scminstance?instanceName={name}

To search by type and name:

http://host:port/flexdeploy/rest/v1/topology/scminstance?scmType={type}&instanceName={name}


Tip

The query parameters are not case sensitive. Searching by instanceName=NAME is the same as searching by instanceName=name.

Request

Parameter
Required
Type
Description

instanceName

NoURL(query)This is a URL query parameter for the name which is used to query the SCM instances with.
instanceCodeNoURL(query)This is a URL query parameter for the code which is used to query the SCM instances with.
scmTypeNoURL(query)This is a URL query parameter for the type which is used to query the SCM instances with.

Include Page
REST V1 SCM Instance Response
REST V1 SCM Instance Response

Response Codes

HTTP Code
Description
200SCM Instances were found and returned
400Bad request
401Unauthorized
500Unexpected internal server error

Example

...

Info
titleAPI URL

http://host:port/flexdeploy/rest/v1/topology/integrations/scminstance

Code Block
themeEclipse
titleSample POST JSON Request
{ "instanceId": 11101, "instanceName": "ScmName1", "properties": [ { "propertyName": "FDGIT_URL", "propertyValue": "url" }, { "propertyName": "FDGIT_USER", "propertyValue": "user" }, { "propertyName": "FDGIT_PASSWORD", "propertyValue": "password" }, { "propertyName": "FDGIT_TIMEOUT", "propertyValue": "10000" } ], "scmType": "GIT", "description": "description", "instanceCode": "CODE1", "isActive": true }

Parameters

Parameters
Required
Type
Description
IdYesURLThis is a URL parameter for the Id which is used to find and return an SCM instance with.
descriptionNoStringThis is the description that the SCM instance's description will be updated to.
isActiveYesBooleanThis is the isActive Boolean that the SCM instance's isActive Boolean will be updated to.
instanceCodeYesStringThis is the code that the SCM instance's code will be updated to.
propertiesYes/NoList<PropertyValue>This is the list of Properties that will be updated in the SCM instance. The JSON object must have all of the properties of the SCM instance's type. 
instanceNameYesStringThis is the name that the SCM instance's name will be updated to.
instanceIdNoLongThis is the unique Id of the SCM instance. The SCM Instance will not be updated from this.
scmTypeYesStringThis is the scm type of the SCM instance. 

...

Code Block
themeEclipse
titleSCM Instance PUT Return JSON
{
   "instanceId": 11101,
   "instanceName": "ScmName2",
   "properties":    [
            {
         "propertyName": "FDGIT_URL",
         "propertyValue": "urlPUT"
      },
            {
         "propertyName": "FDGIT_USER",
         "propertyValue": "userPUT"
      },
            {
         "propertyName": "FDGIT_PASSWORD",
         "propertyValue": "passwordPUT"
      },
            {
         "propertyName": "FDGIT_TIMEOUT",
         "propertyValue": "10001"
      }
   ],
   "scmType": "GIT",
   "description": "descriptionPUT",
   "instanceCode": "CODE2",
   "isActive": true
}

PATCH

This PATCH service will update an existing SCM instance with the information passed through a JSON object. If an attribute of the JSON is null it will not be updated in the SCM instance.

Info
titleAPI URL

http://host:port/flexdeploy/rest/v1/topology/integrations/scminstance/{Id}

...