Difference between revisions of "Mylyn/JIRA Connector"
Revision as of 13:10, 13 May 2008
Themes for the Mylyn 3.0 and Eclipse Ganyemede release cycle. Listed in order of priority.
- Support the user community: Maintain responsiveness to and prioritization of the open bugs.
- Improve Test Suite: Unit test coverage is currently inadequate and should match that of the Bugzilla and Trac connectors.
- Extend Rich UI: Need support for additional features such as custom attributes, issue history, votes and watches.
- Integrate time tracking: Mylyn provides task timing values and these should be integrated with JIRA time and scheduling (bug 173880).
- Enhance workflow integration: Support workflows beyond comment/attribute/attachment submission.
- Improve comment display and editing: Support for HTML display, editing, and visibility.
- Improve representation of subtasks and dependencies: Associations between tasks should be visible and navigable from the task editor.
- Improve documentation: User guide and FAQ should be updated and include screenshots.
JIRA Remote 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?
- SteffenPingel: That has been implemented and works.
- Retrieve all details about custom fields from the project configuration, including values of select/multi-select/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.
- Investigate if the performance of queries can be improved. It seems that results in XML format are delivered much slower than query results in the web interface (bug 196288)
- Investigate the overhead/performance of the XML-RPC vs. SOAP interface (bug 205963) to reduce the load on JIRA repositories.
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
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