Issue Manager の SOAP API

Issue Manager は、サード パーティ製のアプリケーションから欠陥を登録するなどの目的で Issue Manager リポジトリにアクセスできるよう、API (Application Programmable Interface) を公開しています。

WSDL がベースとしているインターフェイスを以下に記載してあります。 このインターフェイスには、メソッドのドキュメントも含まれています。

/**
* A Project object has a ProjectID and a ProjectName. The ProjectID 
is used for all further methods
* for specifying the Issue Manager project you want to work on.
* @param sessionID
* @return Array of initialized Issue Manager projects available 
for the user used for generating the sessionID
* @throws SQLException
*/

public Project[] getProjects(long sessionID) throws SQLException;

/**
* @param sessionId
* @param projectID
* @return the names of the 3 issue types
*/

public String[] getIssueTypes(long sessionId, int projectID) 
throws RemoteException, SQLException, LoginException;

/**
* @param sessionId
* @param projectID
* @return Array of ProductNames that are configured for the 
provided Issue Manager project
*/

public String[] getProducts(long sessionId, int projectID) 
throws RemoteException, SQLException, LoginException;

/**
* @param sessionId
* @param projectID
* @param product
* @return Array of ReleaseNames that are configured for the 
provided product
*/

public String[] getReleases(long sessionId, int projectID, 
String product) throws RemoteException, MissingValueException, 
SQLException, LoginException;

/**
* @param sessionId
* @param projectID
* @return Array of available PlatformNames
*/

public String[] getPlatforms(long sessionId, int projectID) throws 
RemoteException, SQLException, LoginException;

/**
* @param sessionId
* @param projectID
* @param product
* @return Array of ComponentNames that are configured for the 
provided product
*/

public String[] getComponents(long sessionId, int projectID,
String product) throws RemoteException, MissingValueException, 
SQLException, LoginException;

/**
* The list of Severities can be grouped by IssueType or Product. 
If the list is grouped by IssueType the
* parameter issueType has to be provided and the product parameter 
can be empty. If the list is grouped by
* product issueType can be empty and the product has to be selected.
* @param sessionId
* @param projectID
* @param product
* @param issueType
* @return Array of values that can be used for entering an issue in 
the given project when the provided
* IssueType/Product is selected.
*/

public String[] getSeverities(long sessionId, int projectID,String 
product,String issueType) throws RemoteException, 
MissingValueException, SQLException, LoginException, 
NotExistingValueException;

 

/**
* @param sessionId
* @param projectID has to be a ProjectID delivered by 
the method getProjects
* @param issueType has to be a values delivered by 
the method getIssueTypes
* @param product has to be a values delivered by 
the method getProducts
* @param release has to be a values delivered by 
the method getReleases for the selected product
* @param platform has to be a values delivered by 
the method getPlatforms
* @param component has to be a values delivered by 
the method getComponents for the selected product
* @param severity has to be a values delivered by 
the method getSeverities for the selected projectID 
and IssueType/Product
* @param synopsis the Synopsis for the new issue
* @param description the Description for the new issue
* @return the Issue Number of the new issue
*/

public int saveNewIssue(long sessionId, int projectID, 
String issueType, String product, String release, String 
platform, String component, String severity, String 
synopsis, String description) throws RemoteException, 
MissingValueException, NotExistingValueException, 
SQLException, LoginException;