Zu Issue Manager gehört eine offene API (Application Programming Interface), über die mit Anwendungen von Drittanbietern auf das Repository von Issue Manager zugegriffen werden kann (beispielsweise, um einen Fehler zu übermitteln).
Die Schnittstelle, auf der die WSDL basiert, ist weiter unten dargestellt. Die Schnittstelle enthält auch die Dokumentation für die Methoden:
/** * 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;