OpenEngSB Issue Domain Manual

Version 2.0.0

Open Engineering Service Bus Development Team and Contributors


1. Issue Domain
1.1. Description
1.2. Functional Interface
1.3. Event Interface

Chapter 1. Issue Domain

The issue domain is the tool domain for all issue tracking tools, like Jira, Trac, Github or Mantis.

1.1. Description

The issue Domain provides the possibility to create, update, delete and comment issues.

1.2. Functional Interface

The following listing presents the Java Domain Interface. This interface also contains information about events raised by this domain.

public interface IssueDomain extends Domain {

    /**
     * creates an issue on the server and returned the generated id
     */
    String createIssue(Issue issue);

    /**
     * add a comment to an issue, specified by his id
     */
    void addComment(String id, String comment);

    /**
     * update an issue, specified by his id, the comment param can be null, changes: key of map is what field has to be
     * changed,
     */
    void updateIssue(String id, String comment, HashMap<IssueAttribute, String> changes);


    /**
     * move all issues from one release ( specified by releaseFromId ) to another release ( specified by releaseToId )
     */
    void moveIssuesFromReleaseToRelease(String releaseFromId, String releaseToId);

    /**
     * close a release specified by his id
     */
    void closeRelease(String id);

    /**
     * generates an report for all closed issues belonging the the specified release
     */
    List<String> generateReleaseReport(String releaseId);

    /**
     * adds a component
     */
    void addComponent(String component);
    
    /**
     * removes a component
     */
    void removeComponent(String component);
}

1.3. Event Interface

The following interface presents the events an appointment connector can throw:

public interface IssueDomainEvents extends DomainEvents {

}