Critical WS API needs
The following are needed for the completeness or correctness of connector behavior.
- Retrieve available workflow actions and operations for issue (based on issue type, status, current user etc).
- JonathanNolen: IssueServiceImpl.getAvailableActions() already exists, according to the docs. Will this work?
- Retrieve all details about custom fields from the project configuration, including values of select/multiselect/radio fields and mandatory fields required for creating new issue.
- JonathanNolen: Can't find this in the docs, may need to be developed.
- EK: we also need to know if field is not supposed to be shown and/or edited in the UI
- Retrieve available actions for each comment (edit, delete, change visibility etc) and required metadata (i.e. list of values for selecting who can see comment).
- JonathanNolen: Getting available actions on the comments doesn't seem to be available, may need to be developed. On the other hand, the JIRA API will only return to you comments that are visible by the user making the request. It shouldn't be something that Mylar needs to determine on its own.
- EK: yes, but when we are adding comment we need to set visibility and for those visible comments it would be a good idea to show to whom that comment is addressed to.
High Priority WS API needs
The following are needed for the completeness of the rich UI.
- Retrieve and update dependencies, links and subtasks (links, etc should be present on the Issue object)
- Retrieve and update votes (number of votes and whether or not the current user has voted should be present on the Issue object)
- Update watch/CC status of the issue given the current user (should be present on the Issue object)
- Update watch/unwatch status of an issue during an update by setting/unsetting the watched flag on the issue (allows us to reassign an issue, but continue to watch it with one call)
- Retrieve issue history
- Update time tracking info
- Retrieve and update attachments
Lower Priority WS API needs
The following will enhance the user experience or connector implementation.
- Service to get wiki macro details (for rich text editing and autocompletion)
- Is it a block macro
- Does it have parameters, if so, what values are possible
- Service to get RPC api version (need to call this before calling anything else) - could be added to the existing getServerInfo service
- We actually need to support RPC plugin versions, not Jira versions. Currently we just guess the rpc version based on the Jira version
- Retrieving screen layouts given issue type, project and action (for editing custom fields on workflow transition)
- Submitting query/filter and only getting keys back (not issues+comments).
- Service to get issue summaries (everything but the comments) given a set of issue keys (for populating search results page at a time)
- Service to get all server configuration at once (Projects/Components/Versions)
- Service to get server "customization" settings (is voting enabled, attachments allowed, etc...) - currently admin only
- This is needed to disable operations that are not enabled on the server
- Service to get all 'meta' information at once (issue types, issue statuses, ProjectCategory, etc) - any configurable objects that apply across projects
- Project object should say what category it belongs to (if any)
- Service to search for issues - model this after the core services search method? ie. object based query
- Allow searching by voting and watch status (I don't think these are currently stored in the GenericValue object, so aren't indexed by Lucene)
- Allow searches to be saved as named queries
- Service to search for users - like the issue search, just return IDs and let the caller get the details
- Service to search for groups
- Provide all services in wrapped doc/literal format to be WS-I compliant. Some toolkits such as XFire only support Doc/Literal web services
- key JIRA Connector bugs fixes
- unit test suite to match that of Bugzilla & Trac
attachment and context sharing support (may need WS enhancement)
- jira-specific comment management. i.e. delete, specify who can see it (may need WS..)
- show issue dependencies/linking/subtasks in task editor and Task List
- documentation and articles
- support for custom attributes (need WS enhancements)
- workflow enhancements, time tracking integration
- vote and watch support (may need WS enhancements)
- support display of issue change history (may need WS enhancement)