You can use the TeamForge SOAP API to do almost anything a user can do in the TeamForge web user interface.
TeamForge exposes a subset of the APIs defined by the application server as web services, through the SOAP protocol.
You can get the API here: http://www.collab.net/community/teamforge
The SOAP API can provide more types of functionality than the Web UI alone. For example, it can be time-consuming for a user with Tracker Admin permissions to copy a tracker workflow from one tracker to another in the Web UI. However, the SOAP method that provides a workflow copy function makes this task easy.
For access permissions (authorization, as distinct from authentication), the SOAP API follows the same rules imposed by the TeamForge role-based access control (RBAC) system. A user using a SOAP API-based client has no more access to data than they have in the Web UI.
The CollabNet TeamForge architecture allows you to quickly and easily develop integration points between CollabNet TeamForge and applications you develop.
All services and APIs are user‐centric, meaning that all integrated applications must establish an individual connection to the SOAP server for each user. This differs from programming directly with an application server where one connection can be established for any number of users.
Activities that can be performed using the SOAP interface are by definition user‐based, such as retrieving a list of a userʹs projects, tasks, or assigned tracker artifacts. These activities therefore require an individual connection for each user.
Requiring individual connections also ensures that role‐based access control is checked for each action performed by each user. To ensure that security is enforced, RBAC checks are performed on each SOAP API call and cannot be disabled at the client level.
While each CollabNet TeamForge service has its own SOAP interface, interaction with each service is designed to be as consistent as possible. The calls for each service are similar, although the data format and specific call parameters may be different.
For example, the following calls are consistent across all services:
The call parameters, however, are different. For example: