Version Control System
The VCS operations that can be performed on the TDV resources are:
GET /branches
This API is used to get branches by VCS adapter name and remote VCS url. it is only for GIT
Parameters:
Name | Description | Parameter Type | Data Type |
adapterName | The name of the adapter | query | string |
url | | header | string |
user | | header | string |
password | | header | string |
base64Cer | It is an optional parameter used on git https with ssl certificate support. for other usage, this can be Null. | query | string |
Example to get branches by VCS adapter name and remote VCS url.
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/branches?adaptername={adapterName}&base64Cer={pem format certificate}" -H "Content-Type: application/json" -H "user: {user}" -H "password: {password}" -H "url: {url}"
GET /branches/{name}
This API is used to get branches by VCS instance name. it is only for GIT.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
Example to get branches by VCS instance name
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/branches/{vcsInstanceName}" -H "Content-Type: application/json"
POST /checkin/{name}
This API is used to checkin the resource into vcs.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
body | | body | Model schema |
Request Body
Example Value - Schema
{
“createdResources”:[
{
“resourcePath”: “string”,
“type”: “string”
}
],
“deletedResources”:[
{
“resourcePath”: “string”,
“type”: “string”
}
],
“updatedResources”:[
{
“resourcePath”: “string”,
“type”: “string”
}
],
“comment”: "string",
“email”: “string”,
“committerFullName”: “string”
}
Example to checkin
curl -X POST -u admin:admin --cookie "session9400={sessionToken}" "http://localhost:9400/rest/vcs/v1/checkin/{vcsInstanceName}}" -H "Content-Type: application/json" -d '{"comment": "my comment", "createdResources":[{"resourcePath":"/users/composite/admin/abc/foo", "type":"PROCEDURE"}], "updatedResources":[{"resourcePath":"/users/composite/admin/abc/bar", "type":"PROCEDURE"}], "deletedResources":[{"resourcePath":"/users/composite/admin/abc/kay", "type":"PROCEDURE"}]}'
GET /connection
This API is used to test connection by vcsAdapter name, url, username, password.
Parameters:
Name | Description | Parameter Type | Data Type |
adapterName | Name of the adapter | query | string |
url | | header | string |
user | | header | string |
password | | header | string |
base64Cer | It is an optional parameter used on git https with ssl certificate support. for other usage, this can be Null. | query | string |
Example to test connection by vcsAdapter name, url, username, password
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/connection?adapterName=svnAdapter&base64Cer={pem format certificate}" -H "Content-Type: application/json" -H "url:svn://172.23.5.76:3690" -H "user:svnuser1" -H "password:foa23f9u"
GET /connection/{name}
This API is used to verify vcs url connection.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
Example to verify vcs url connection
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/connection/{vcsInstanceName}" -H "Content-Type: application/json"
GET /content/{name}
This API is used to get cmf content for special resource and revision in special vcsInstance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
resourceType | | query | string |
resourcePath | | query | string |
revision | | query | string |
Example to get cmf content for special resource and revision in special vcsInstance.
curl -X GET -u admin:admin --cookie "session9400={sessionToken}" "http://localhost:9400/rest/vcs/v1/content/{vcsInstanceName}?resourcePath=/users/composite/admin/abc/LookupProduct&resourceType=PROCEDURE&revision=r109" -H "Content-Type: application/json"
POST /discard/{name}
This API is used to discard local changes for special resource and get latest revision.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
includePrivileges | | query | boolean |
body | | body | Model schema |
Request Body
Example Value - Schema
{
“resources”:[
{
“resourcePath”: “string”,
“type”: “string”
}
]
}
Example to dicard local changes
curl -X POST -u admin:admin --cookie "session9400={sessionToken}" "http://localhost:9400/rest/vcs/v1/discard/{vcsInstanceName}?includePrivileges=true" -H "Content-Type: application/json" -d '{"resources":[{"resourcePath":"/users/composite/admin/def/LookupProduct", "type":"PROCEDURE"}]}'
GET /enable
This API is used to check whether vcs feature is enabled.
Parameters:
None
Example to check whether vcs feature is enabled
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/enable" -H "Content-Type: application/json"
POST /fetch/{name}
This API is used to fetch the resource subtree from a particular revision. For single resource(either a folder or a file), resource path and type should be provided. For vcs connection wide fetch, resource path and type should be set to null, (empty values for the resource path and type results in reader error currently).
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
revision | | query | string |
includePrivileges | | query | boolean |
body | | body | Model schema |
Request Body
Example Value - Schema
{
“resourcePath”: “string”,
“type”: “string”
}
Example to fetch the resource subtree from a particular revision.
curl -X POST -u admin:admin --cookie "session9400={sessionToken}" "http://localhost:9400/rest/vcs/v1/fetch/{vcsInstanceName}?revision=r112&includePrivileges=true" -H "Content-Type: application/json" -d”{"resourcePath":"/users/composite/admin/examples/view4", "type":"TABLE"}’
GET /history/{name}
This API is used to get whole history or history for special resource in special vcsInstance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
resourceType | | query | string |
resourcePath | | query | string |
Example to get whole history or history for special resource in special vcsInstance.
curl -X GET -u admin:admin --cookie "session9400={sessionToken}" "http://localhost:9400/rest/vcs/v1/history/{vcsInstnace}[?resourcePath=/users/composite/admin/abc/LookupProduct&resourceType=PROCEDURE]" -H "Content-Type: application/json"
GET /latestcontent/{name}
This API is used to get latest cmf content for special resource in special vcsInstance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
resourceType | | query | string |
resourcePath | | query | string |
Example to get latest cmf content for special resource in special vcsInstance.
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/latestcontent/{vcsInstanceName}?resourcePath=/users/composite/admin/abc/LookupProduct&resourceType=PROCEDURE" -H "Content-Type: application/json"
GET /localcontent/{name}
This API is used to get local cmf content for special resource in special vcsInstance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
resourceType | | query | string |
resourcePath | | query | string |
Example to get local cmf content for special resource in special vcsInstance.
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/localcontent/{vcsInstanceName}?resourcePath=/users/composite/admin/abc/LookupProduct&resourceType=PROCEDURE" -H "Content-Type: application/json"
GET /root
This API is used to check whether special path is a root in vcs instance.
Parameters:
Name | Description | Parameter Type | Data Type |
cis_path | | query | string |
rootType | | query | string |
Example to check whether special path is a root in vcs instance.
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/root?cis_path=/users/composite/admin/abc/kkkdd&rootType={type}" -H "Content-Type: application/json"
GET /root/{name}
This API is used to get all of roots for special vcs instance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
Example to get all of roots for special vcs instance
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/root/{vcsInstanceName}}" -H "Content-Type: application/json"
POST /root/{name}
This API is used to add root for special vcs instance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
mode | | query | string |
rootType | | query | string |
includePriveleges | | query | boolean |
body | | body | string |
Example to add root for special vcs instance
curl -X POST -u admin:admin --cookie "session9400={sessionToken}" "http://localhost:9400/rest/vcs/v1/root/{vcsInstanceName}?mode={push/pull}&includePrivileges=true&rootType={type}" -H "Content-Type: application/json" -d "/users/composite/admin/gitabc"
DELETE /root/{name}
This API is used to delete root from special vcs instance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
cis_path | | query | string |
rootType | | query | string |
Example to delete root from special vcs instance
curl -X DELETE -u admin:admin "http://localhost:9400/rest/vcs/v1/root/{vcsInstanceName}?cis_path=/users/composite/admin/abc&rootType={type}" -H "Content-Type: application/json"
POST /setCredential/{name}
This API is used to set credial for the vcs instance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
body | | body | Model schema |
Request Body
Example Value - Schema
{
“username”: “string”,
“password”: “string”
}
Example to set credential
curl -X POST -u admin:admin --cookie "session9400={sessionToken}" "http://localhost:9400/rest/vcs/v1/setCredential/{vcsInstanceName}}" -H "Content-Type: application/json" -d '{"username":"gituser2", "password":"foa23f9u"}'
GET /status/{name}
This API is used to get resource status for special vcs instance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
Example to get resource status for special vcs instance
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/status/{vcsInstanceName}}" -H "Content-Type: application/json"
GET /vcsAdapter/{adapter_name}
This API is used to get VCS adapter by adapter name.
Parameters:
Name | Description | Parameter Type | Data Type |
adapterName | name of the adapter | path | string |
Example to Get VCS adapter by adapter name
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/vcsAdapter/{adapterName}" -H "Content-Type: application/json"
GET /vcsAdapters
This API is used to get VCS adapters.
Parameters:
None
Example to get VCS adapters
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/vcsAdapters" -H "Content-Type: application/json"
POST /vcsInstance
This API is used to create vcs instance.
Parameters:
None
Request Body
Example Value - Schema
{
“cmdCheckIn”: “string”,
“cmdCheckOut: “string”,
“cmdAdd”: “string”,
“cmdRemove”: “string”,
“cmdRevert”: “string”,
“cmdStatus”: “string”,
“cmdDiff”: “string”,
“name”: “string,
“description”: “string”,
“providerId”: “string”,
“repository”: “string”,
“localWorkspace”: “string”,
“encryptionPassword”, “string”,
“branch”, “string”,
“ignoreEncryption”: “string”,
“base64Cer”: “string”,
“cmdHistory”: “string”
}
Example to create vcs instance
curl -X POST -u admin:admin "http://localhost:9400/rest/vcs/v1/vcsInstance" -H "Content-Type: application/json" -d '{"name":"vcssource1", "description": "dd", "providerId":"svnAdapter", "repository": "svn://172.23.5.76:3690/project6", "branch":"master", "encryptionPassword":"testPassword", "base64Cer":"Pem format certificate" }'
GET /vcsInstance/{name}
This API is used to get vcs instance by name.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
Example to get vcs instance by name
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/vcsInstance/{vcsInstanceName}" -H "Content-Type: application/json"
PUT /vcsInstance/{name}
This API is used to update vcs instance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
Request Body
Example Value - Schema
{
“cmdCheckIn”: “string”,
“cmdCheckOut: “string”,
“cmdAdd”: “string”,
“cmdRemove”: “string”,
“cmdRevert”: “string”,
“cmdStatus”: “string”,
“cmdDiff”: “string”,
“name”: “string,
“description”: “string”,
“providerId”: “string”,
“repository”: “string”,
“localWorkspace”: “string”,
“encryptionPassword”, “string”,
“branch”, “string”,
“ignoreEncryption”: “string”,
“base64Cer”: “string”,
“cmdHistory”: “string”
}
Example to update vcs instance
curl -X PUT -u admin:admin "http://localhost:9400/rest/vcs/v1/vcsInstance/{vcsInstanceName}" -H "Content-Type: application/json" -d '{"description": "dddddd", "providerId":"svnAdapter", "repository": "svn://172.23.5.76:3690", "branch":"master", "encryptionPassword":"testPassword", "base64Cer":"Pem format certificate" }'
DELETE /vcsInstance/{name}
This API is used to delete vcs instance.
Parameters:
Name | Description | Parameter Type | Data Type |
name | | path | string |
Example to delete vcs instance
curl -X DELETE -u admin:admin "http://localhost:9400/rest/vcs/v1/vcsInstance/{vcsInstanceName}" -H "Content-Type: application/json"
GET /vcsInstances
This API is used to get all vcs instances.
Parameters:
None
Example to get all vcs instances
curl -X GET -u admin:admin "http://localhost:9400/rest/vcs/v1/vcsInstances" -H "Content-Type: application/json"