1. Introduction
This document describes, at a high level, the first version of the Helm Web Services API that is used to manipulate data from a domain or project level of a CollabNet Enterprise Edition instance.
Users with either domain or project roles can use this API to programmatically automate regular tasks such as verifying the state of a project, getting the list of requested roles to a project or granting roles to new members.
The Helm Web Services API focuses on basic project and membership administration, which are daily activities in an open-source development environment. For this reason, most of the methods offered require administrative permissions from the client executing the methods.
2. Platform
Because this is a strongly-typed Web Services API, customers have the complete definition of the needed types included on the WSDL interfaces necessary to communicate with the service. Therefore, they can use their preferred programming language to write their client application, such as a plug-in for Eclipse in Java, a Web interface in Python or an automated shell script in Perl.
To develop your client, download the Helm Web Services API interfaces for each of the services from these sources:
- The complete and documented version of the APIs is available on openCollabNet. This package includes the WSDL interfaces and supporting XML Schema for each of the services described, as well as the complete documentation for SOAP developers.
- The consolidated version of the services (the complete WSDL files) can be downloaded directly from a CEE 5.x site instance, using the following pattern:
http://www.HOST/axis/services/ws-sec-min/helm/SERVICE?WSDL
where HOST is the host address of the CEE site you are creating the clients for, and SERVICE is one of the service names described in the next section.
3. Interfaces
The interfaces that compose the Helm Web Services API are described as follows:
| |
Service Name |
|
|
|
General Description / Responsibility |
|
| |
Domain |
|
|
|
Provides operations that create, modify, delete, access information about the following entities:
Project, Categories and Project Groups;
Roles, Permissions (Actions and Resource Patterns), License and Broadcast Message. |
|
| |
| |
Project |
|
|
|
Project-specific operations. Applies to: projects, categories, project groups, etc. |
|
|
| |
Membership |
|
|
|
Provides operations for users and their membership within Projects:
Users and User Groups;
User Membership and Invitation operations; |
|
| |
4. Operations
4.1. Domain - List of Operations
| |
Operation |
|
|
|
Description |
|
| |
getUserByUsername |
|
|
|
Returns a user by the username. |
|
| |
| |
getUserByName |
|
|
|
Returns a user by the name. |
|
|
| |
getUserByEmail |
|
|
|
Returns a user by the email. |
|
| |
| |
isUserValid |
|
|
|
Returns the status information about if a given username/password is valid on the system. |
|
| |
| |
getProjectsForUser |
|
|
|
Returns a list of projects for a given username. |
|
| |
| |
getProjectsForAction |
|
|
|
Returns the list of Projects for a given Action. |
|
| |
| |
getResourcesForAction |
|
|
|
Returns the list of Resources for a given Action on a given project. |
|
| |
4.2. Project - List of Operations
| |
Operation |
|
|
|
Description |
|
| |
getProjectInfo |
|
|
|
Returns the information about a project instance. This includes values of its state such as name, summary, tracker and versioning components, etc. |
|
| |
| |
setParent |
|
|
|
Sets the parent project for the project in context. |
|
| |
4.3. Membership - List of Operations
| |
Operation |
|
|
|
Description |
|
| |
addMembers |
|
|
|
Adds users as new members to a given project. |
|
| |
| |
getMembers |
|
|
|
Returns the list of members of a given project with information about their membership and roles. |
|
|
| |
getOwners |
|
|
|
Returns the list of owners of a given project. |
|
| |
| |
getPendingRequestedRoles |
|
|
|
Returns the list of all the requested roles. |
|
| |
| |
approvePendingRoles |
|
|
|
Approves requested roles for a given set of users. |
|
| |
| |
disapprovePendingRoles |
|
|
|
Disapproves requested roles, using a reason message. |
|
| |
| |
grantRolesToMembers |
|
|
|
Adds a list of roles to a given list of users or user groups. |
|
| |
| |
revokeRolesFromMembers |
|
|
|
Removes a list of roles from a given list of members or user groups. |
|
| |
| |
getMemberInfo |
|
|
|
Returns the information about a given member on the context project. |
|
| |
5. Documentation
JavaDocs generated through the implementation of JAVA clients developed by CollabNet. Includes the description of all supporting types automatically generated by the Apache AXIS framework.