Issue Manager offers an open API (Application Programmable Interface) to enable access to the Issue Manager repository from a third-party application, for example to submit a defect.
The interface the WSDL is based on is shown below. This interface also contains the documentation for the methods:
/** * 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;