Here's what's new with the TeamForge 20.0 REST APIs as compared to TeamForge 19.0.

Source Code Management API

Here’s what’s new with the Source Code Management REST APIs in TeamForge 20.0 as compared to Source Code Management REST APIs in TeamForge 19.0.

New APIs

API Group Operation API Signature / Description
Repositories DELETE /repositories/{repositoryId}/importParams

Deletes import params
Repositories GET /repositories/{repositoryId}/importParams

Gets the import parameters required to import this Git repository on TF Git Integration
Repositories PATCH /repositories/{repositoryId}/status

Updates the import status for the given repository

New Request Parameters

Repositories > POST /projects/{projectId}/repositories Creates repository
webhookConfiguration/webhooks[]/url (in: body, type: string)
webhookConfiguration/webhooks[]/type (in: body, type: string)
webhookConfiguration/webhooks[]/eventTypes (in: body, type: string[])
webhookConfiguration/webhooks[]/ignoreSslWarnings (in: body, type: boolean)
webhookConfiguration/webhooks[]/connectTimeout (in: body, type: integer)
webhookConfiguration/webhooks[]/readTimeout (in: body, type: integer)
webhookConfiguration/webhooks[]/maxRetryCount (in:body, type: integer)
webhookConfiguration/webhooks[]/filter/adapter (in: body, type: string)
webhookConfiguration/webhooks[]/filter/servers (in: body, type: string[])
Repositories > POST /repositories Creates repository
webhookConfiguration/webhooks[]/url (in: body, type: string)
webhookConfiguration/webhooks[]/type (in: body, type: string)
webhookConfiguration/webhooks[]/eventTypes (in: body, type: string[])
webhookConfiguration/webhooks[]/ignoreSslWarnings (in: body, type: boolean)
webhookConfiguration/webhooks[]/connectTimeout (in: body, type: integer)
webhookConfiguration/webhooks[]/readTimeout (in: body, type: integer)
webhookConfiguration/webhooks[]/maxRetryCount (in:body, type: integer)
webhookConfiguration/webhooks[]/filter/adapter (in: body, type: string)
webhookConfiguration/webhooks[]/filter/servers (in: body, type: string[])

New Response Attributes

Repositories > GET /projects/{projectId}/repositories Gets project repository list
New attribute in 200 response: items[]/disabled (in: body, type: boolean)
Repositories > GET /repositories Gets repository list
New attribute in 200 response: items[]/disabled (in: body, type: boolean)
Repositories > GET /servers/{serverId}/repositories Gets repository list on a SCM server
New attribute in 200 response: items[]/disabled (in: body, type: boolean)
Repositories > POST /projects/{projectId}/repositories/filter Filters project repository list
New attribute in 200 response: items[]/disabled (in: body, type: boolean)

Document Management API

Here’s what’s new with the Document Management REST APIs in TeamForge 20.0 as compared to Document Management REST APIs in TeamForge 19.0.

New APIs

API Group Operation API Signature / Description
DocumentFolders and Documents DELETE /documentfolders/{docOrFolderid}/monitoring-users

Remove monitoring users from a document folder/item
DocumentFolders and Documents DELETE /projects/{projectId}/documentfolders-documents/multiple

Delete multiple folders and documents
DocumentFolders and Documents GET /documentfolders/{docfolderid}/documentfolders-documents

Gets document folders and documents under given folder which current user can view
DocumentFolders and Documents GET /documentfolders/{docOrFolderid}/monitoring-users

Get list of users monitoring a document / docment folder
DocumentFolders GET /documentfolders/{docfolderid}/users

Gets users who have the view permission under a folder
Document UI Preference GET /projects/{projectId}/documents-preference

Gets the documents UI preference for the user either new/old page
DocumentFolders and Documents GET /projects/{projectIdOrPath}/favourites

Gets favourite documents for the user
Fields GET /projects/{projectid}/fields/by-name/{fieldName}

Get document field by name defined in the context project
Recent Documents GET /projects/{projectId}/recent-documents

Resource will list down the recent documents for a user by project id/path
Documents GET /projects/{projectIdOrPath}/tags

Gets the tags in the project
DocumentFolders and Documents PATCH /projects/{projectIdOrPath}/favourites

Favourite multiple documents
DocumentFolders and Documents POST /documentfolders/{docfolderid}/documentfolders-documents/results

Gets document folders and documents under given folder which current user can view
DocumentFolders and Documents POST /documentfolders/{docOrFolderid}/monitoring-users

Add monitoring users to a document folder/item
Documents UI Preference POST /projects/{projectId}/documents-preference

Update the documents UI preference for the user either new/old page
Documents POST /projects/{projectid}/documents/download

Download Documents and Folders in a project
Documents POST /projects/{projectIdOrPath}/tags/{tagId}

Gets documents under given tag which current user can view
DocumentFolders PUT /projects/{projectid}/documentfolders/{docfolderid}/move

Moves a document folders / documents into another document folder

New Request Parameters

Fields > PATCH /fields/{fieldId} Update field’s data
fieldValues[]/visible (in: body, type: boolean)
Fields > POST /documents/{folderId}/fields Create document field in given folder’s project
fieldValues[]/visible (in: body, type: boolean)
Fields > POST /projects/{projectid}/fields Creates document field
fieldValues[]/visible (in: body, type: boolean)

New Response Attributes

Fields > Get /documents/{folderId}/fields Get list of document fields in the given folder’s project
New attribute in 200 response: items[]/fieldValues/items[]/visible (in: body, type: boolean)
Fields > GET /fields/{fieldId} Gets field information
New attribute in 200 response: fieldValues/items[]/visible (in: body, type: boolean)
Fields > GET /fields/{fieldId}/fieldValues Gets field values information
New attribute in 200 response: items[]/visible (in: body, type: boolean)
FolderLayout > GET /folderlayout/{folderId} Gets folder layout for a document folder
New attribute in 200 response: items[]/fieldDO/fieldValues/items[]/visible (in: body, type: boolean)
Fields > GET /projects/{projectid}/fields Get document fields defined in the context project
New attribute in 200 response: items[]/fieldValues/items[]/visible (in: body, type: boolean)
Fields > PATCH /fields/{fieldId} Update field’s data
New attribute in 200 response: fieldValues/items[]/visible (in: body, type: boolean)
Fields > PATCH /fields/{fieldId}/child Update child field
New attribute in 201 response: fieldValues/items[]/visible (in: body, type: boolean)
FolderLayout > PATCH /folderlayout/{folderId} Updates folder layout for a document folder
New attribute in 200 response: items[]/fieldDO/fieldValues/items[]/visible (in: body, type: boolean)
DocumentFolders > POST /documentfolders/{docfolderid}/documentfolders Creates document folder
New attribute in 201 response: createdByFullName (in: body, type: string)
New attribute in 201 response: lastModifiedByFullName (in: body, type: string)
New attribute in 201 response: children[]/createdByFullName (in: body, type: string)
New attribute in 201 response: children[]/lastModifiedByFullName (in: body, type: string)
New attribute in 201 response: children[]/children[]/createdByFullName (in: body, type: string)
New attribute in 201 response: children[]/children[]/lastModifiedByFullName (in: body, type: string)
Fields > POST /documents/{folderId}/fields Create document field in given folder’s project
New attribute in 201 response: fieldValues/items[]/visible (in: body, type: boolean)
Fields > POST /fields/{fieldId}/children Create child for a field
New attribute in 201 response: fieldValues/items[]/visible (in: body, type: boolean)
FolderLayout > POST /folderlayout/{folderId}/separator Add layout separator
New attribute in 200 response: fieldDO/fieldValues/items[]/visible (in: body, type: boolean)
Fields > POST /projects/{projectid}/fields Creates document field
New attribute in 201 response: fieldValues/items[]/visible (in: body, type: boolean)

Tracker API

Here’s what’s new with the Tracker REST APIs in TeamForge 20.0 as compared to Tracker REST APIs in TeamForge 19.0.

New Request Parameters

Fields > PATCH /fields/{fieldId} Update field’s data
fieldValues[]/visible (in: body, type: boolean)
Trackers > POST /trackers/{trackerId}/fields Create field for tracker
fieldValues[]/visible (in: body, type: boolean)

New Response Attributes

Fields > GET /fields/{fieldId} Gets field information
New attribute in 200 response: fieldValues/items[]/visible (in: body, type: boolean)
Fields > GET /fields/{fieldId}/fieldValues Gets field values information
New attribute in 200 response: items[]/visible (in: body, type: boolean)
FolderLayout > GET /folderlayout/{trackerId} Gets folder layout for a tracker
New attribute in 200 response: items[]/fieldDO/fieldValues/items[]/visible (in: body, type: boolean)
Trackers > GET /trackers/{trackerId}/fields Gets field list for tracker
New attribute in 200 response: items[]/fieldValues/items[]/visible (in: body, type: boolean)
Trackers > GET /trackers/{trackerId}/fields/by-name/{fieldName} Gets field data by name
New attribute in 200 response: fieldValues/items[]/visible (in: body, type: boolean)
Fields > PATCH /fields/{fieldId} Update field’s data
New attribute in 200 response: fieldValues/items[]/visible (in: body, type: boolean)
Fields > PATCH /fields/{fieldId}/child Update child filed
New attribute in 201 response: fieldValues/items[]/visible (in: body, type: boolean)
FolderLayout > PATCH /folderlayout/{trackerId} Updates folder layout for a tracker
New attribute in 200 response: items[]/fieldDO/fieldValues/items[]/visible (in: body, type: boolean)
Fields > POST /fields/{fieldId}/children Create child for a field
New attribute in 201 response: fieldValues/items[]/visible (in: body, type: boolean)
FolderLayout > POST /folderlayout/{trackerId}/separator Add layout separator
New attribute in 200 response: fieldDO/fieldValues/items[]/visible (in: body, type: boolean)
Trackers > POST /trackers/{trackerId}/fields Create field for tracker
New attribute in 201 response: fieldValues/items[]/visible (in: body, type: boolean)

File Release System API

Here’s what’s new with the File Release System REST APIs in TeamForge 20.0 as compared to File Release System REST APIs in TeamForge 19.0.

New Request Parameters

Packages > GET /projects/{projectId}/packages Gets project packages
projectid (new required request parameter)
projectId (in: path, type: string)
Releases > GET /releases/projects/{projectId} Gets project’s release list
projectPath (new required request parameter)
projectId (in: path, type: string)
Packages > POST /projects/{projectId}/packages Creates package
projectid (new required request parameter)
projectId (in: path, type: string)

Planning Folder API

Here’s what’s new with the Planning Folder REST APIs in TeamForge 20.0 as compared to Planning Folder REST APIs in TeamForge 19.0.

New Response Attributes

PlanningFolders > GET /projects/{projectId}/planningfolders/statuses Gets list of Planning Folder Statuses in a project
New attribute in 200 response: items[]/visible (in: body, type: boolean)
PlanningFolders > POST /projects/{projectId}/planningfolders/statuses Create status field value for planning folder
New attribute in 201 response: fieldValues/items[]/visible (in: body, type: boolean)

Webhook Management API

Here’s what’s new with the Webhook Management REST APIs in TeamForge 20.0 as compared to Webhook Management REST APIs in TeamForge 19.0.

New APIs

API Group Operation API Signature / Description
Webhooks GET /projects/{projectId}/events

Gets list of webhook events
Webhooks GET /projects/{projectId}/subscriber

Gets list of webr Subscribers
Webhooks POST /projects/{projectId}/subscriber

Creates a subscriber

New Request Parameters

Webhooks > PATCH /webhook/{webhookId} Updates a webhook data
subscriberName (in: body, type: string)
eventType (in: body, type: string)
subscriptionFilter (in: body, type: string)
responseScript (in: body, type: string)
httpHeaders (in: body, type: string)
Webhooks > POST /projects/{projectId}/webhook Creates a webhook
eventTypes (new required request parameter)
subscriberName (in: body, type: string)
eventType (in: body, type: string)
succeedOnError (in: body, type: boolean)
directCall (in: body, type: boolean)
useInternalJsvm (in: body, type: boolean)
eventName (in: body, type: string)
subscriptionFilter (in: body, type: string)
responseScript (in: body, type: string)
httpHeaders (in: body, type: string)

New Response Attributes

Webhooks > GET /projects/{projectId}/webhook Gets list of webhooks for a project
New attribute in 200 response: items[]/subscriberName (in: body, type: string)
New attribute in 200 response: items[]/eventType (in: body, type: string)
New attribute in 200 response: items[]/succeedOnError (in: body, type: boolean)
New attribute in 200 response: items[]/directCall (in: body, type: boolean)
New attribute in 200 response: items[]/useInternalJsvm (in: body, type: boolean)
New attribute in 200 response: items[]/eventName (in: body, type: string)
New attribute in 200 response: items[]/subscriptionFilter (in: body, type: string)
New attribute in 200 response: items[]/responseScript (in: body, type: string)
New attribute in 200 response: items[]/httpHeaders (in: body, type: string)
Webhooks > GET /webhook/{webhookId} Gets webhook details
New attribute in 200 response: subscriberName (in: body, type: string)
New attribute in 200 response: eventType (in: body, type: string)
New attribute in 200 response: succeedOnError (in: body, type: boolean)
New attribute in 200 response: directCall (in: body, type: boolean)
New attribute in 200 response: useInternalJsvm (in: body, type: boolean)
New attribute in 200 response: eventName (in: body, type: string)
New attribute in 200 response: subscriptionFilter (in: body, type: string)
New attribute in 200 response: responseScript (in: body, type: string)
New attribute in 200 response: httpHeaders (in: body, type: string)
Webhooks > POST /projects/{projectId}/webhook Creates a webhook
New attribute in 201 response: subscriberName (in: body, type: string)
New attribute in 201 response: eventType (in: body, type: string)
New attribute in 201 response: succeedOnError (in: body, type: boolean)
New attribute in 201 response: directCall (in: body, type: boolean)
New attribute in 201 response: useInternalJsvm (in: body, type: boolean)
New attribute in 201 response: eventName (in: body, type: string)
New attribute in 201 response: subscriptionFilter (in: body, type: string)
New attribute in 201 response: responseScript (in: body, type: string)
New attribute in 201 response: httpHeaders (in: body, type: string)

External Data API

Here’s what’s new with the External Data REST APIs in TeamForge 20.0 as compared to External Data REST APIs in TeamForge 19.0.

New APIs

API Group Operation API Signature / Description
ExternalData GET /customdata/{customDataId}

Gets Custom data details
ExternalData POST /customdata

Creates custom data

[]:

[]:

Tags for this page: REST extend_teamforge ctf_20.0