| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| // |
| |
| = SPI - Service Provider Interface |
| :jbake-type: wiki |
| :jbake-tags: wiki, devfaq, needsreview |
| :markup-in-source: verbatim,quotes,macros |
| :jbake-status: published |
| :syntax: true |
| :description: SPI |
| :icons: font |
| :source-highlighter: pygments |
| :toc: left |
| :toc-title: |
| :experimental: |
| |
| This document describes the basic SPI/API requirements requested by the needs |
| of the bugtracking infrastructure and other dependent subsystems of the IDE. |
| |
| For a Bugtracking plugin implementation it is essential to support the |
| following functionality: |
| |
| == SPI: Service Provider Interface |
| |
| |
| [[Connector]] |
| === Connector |
| |
| |
| [[Registration]] |
| ==== Registration |
| |
| register a Butracking plugin |
| |
| |
| [[Connector_Information]] |
| ==== Connector Information |
| |
| provide basic information about a Bugtracking plugin - name, tooltip, icon, ... |
| |
| |
| [[Repository]] |
| === Repository |
| |
| provide functionality to manage Repository lifecycle |
| |
| |
| [[Create_a_Repository]] |
| ==== Create a Repository |
| |
| create and validate a Bugtracking repository |
| |
| |
| [[Edit_Repository_Settings]] |
| ==== Edit Repository Settings |
| |
| edit and validate repository settings |
| |
| |
| [[Remove_a_Repository]] |
| ==== Remove a Repository |
| |
| remove a Bugtracking repository |
| |
| |
| [[Accessing_Issues]] |
| === Accessing Issues |
| |
| Provide Issues from a Repository by: |
| |
| |
| [[Quick_Text_Search]] |
| ==== Quick Text Search |
| |
| provide Issues from a Repository based on a simple text criteria - match text with id or summary |
| |
| |
| [[By_Issue_ID]] |
| ==== By Issue ID |
| |
| provide Issues from a Repository given by their id |
| |
| |
| [[Access_Issues_via_Queries]] |
| ==== Access Issues via Queries |
| |
| provide Issues from a Repository given by a parametrised Queries |
| |
| |
| [[Query_Management]] |
| === Query Management |
| |
| provide functionality to manage Query lifecycle: |
| |
| |
| [[Create_and_Edit_Queries]] |
| ==== Create and Edit Queries |
| |
| provide a Query editor component capable to to create, edit and rename Queries and to notify the IDE about the state of changes in the editor |
| |
| |
| [[Remove_a_Query]] |
| ==== Remove a Query |
| |
| remove a Query associated with a Repository |
| |
| |
| [[List_Queries]] |
| ==== List Queries |
| |
| provide list of saved Queries associated with a Repository and notify about eventual changes in the saved queries list |
| |
| |
| [[Refresh_a_Query]] |
| ==== Refresh a Query |
| |
| execute the Query against the remote server and retrieve Issues matching the query criteria |
| |
| |
| [[List_Issues]] |
| ==== List Issues |
| |
| provide list of Issues returned by the last Query refresh |
| |
| |
| [[Issue_Management]] |
| === Issue Management |
| |
| provide functionality to access and manipulate Issues: |
| |
| |
| [[Create_and_Edit_Queries_2]] |
| ==== Create and Edit Queries |
| |
| provide an Issue Editor component capable to create and edit Issues and to notify about the state of changes in the editor |
| |
| |
| [[Basic_Issue_Information]] |
| ==== Basic Issue Information |
| |
| provide basic issue information - id, summary, priority, finished state, relationship to other issues (parent/child), etc ... |
| |
| |
| [[Incoming_Changes]] |
| ==== Incoming Changes |
| |
| *(Not mandatory)* |
| provide status information about incoming issue changes |
| |
| |
| [[Refresh_Issue]] |
| ==== Refresh Issue |
| |
| refresh the current Issue state from the remote server |
| |
| |
| [[Issue_Scheduling]] |
| ==== Issue Scheduling |
| |
| set and provide information about locally private and/or remote Issue scheduling. *(Not mandatory.)* |
| |
| |
| [[Offline_Work]] |
| === Offline Work |
| |
| Persist Issue and Query state between IDE sessions. Notify and provide information about an Issues current local state. *(Not mandatory.)* |
| |
| |
| [[Outgoing_Changes]] |
| ==== Outgoing Changes |
| |
| provide status information about outgoing (local) issue changes |
| |
| |
| [[List_local_changes]] |
| ==== List local changes |
| |
| provide list of locally changed issues |
| |
| |
| [[Submit]] |
| ==== Submit |
| |
| submit locally changed issues |
| |
| |
| [[API]] |
| == API: Application Provider Interface |
| |
| the bugtracking infrastructure will provide the following functionality for other subsystems to support: |
| |
| |
| [[List_Repositories]] |
| === List Repositories |
| |
| provide a list of all existing repositories |
| |
| |
| [[Access_Issues_by_Queries]] |
| === Access Issues by Queries |
| |
| provide a list of existing Queries for each Repository and a list of Issues for each Query (e.g for the needs of Team Support) |
| |
| |
| [[Quick_Text_Search_2]] |
| === Quick Text Search |
| |
| provide "quick" Issue search by a simple text criteria - (e.g for the needs of VCS Commit hooks, and patch integration) |
| |
| |
| [[Issue_Operations]] |
| === Issue Operations |
| |
| provide Issue operations: |
| |
| * add comment, close and submit an issue (VCS Commit hooks) |
| * create a new issue preset with summary and description (create Issue from Action Items or Hudson) |
| * attach files to an Issue (export and attach patch to an issue from VCS) |
| |
| |
| [[Hyperlink_Issue_References]] |
| === Hyperlink Issue References |
| |
| * parse text for issue references in the IDE (comments in source code editors, or in commit messages in VCS or in code comments) |
| * open Issues by ID |
| |
| |
| [NOTE] |
| ==== |
| The content in this page was kindly donated by Oracle Corp. to the Apache Software Foundation. |
| |
| This page was exported from link:http://wiki.netbeans.org/BugtrackingAPISPIUseCases[http://wiki.netbeans.org/BugtrackingAPISPIUseCases] , that was last modified by NetBeans user Tstupka on 2013-11-12T14:11:14Z. |
| |
| This document was automatically converted to the AsciiDoc format on 2020-03-12, and needs to be reviewed. |
| ==== |