Extending Atlassian JIRA's SOAP API Adding SOAP Operations
### 扩展Atlassian JIRA的SOAP API:添加SOAP操作 #### 摘要 Atlassian JIRA是一款专为软件开发团队设计的项目追踪工具,主要用于管理缺陷(问题)报告。JIRA具备高度可扩展性,组织可以根据业务需求定义自定义工作流程及字段,为问题增加特定业务信息。JIRA提供了SOAP RPC接口,可以用来构建客户端应用,例如与Eclipse插件集成。然而,在撰写本文时,现有的大多数JIRA/Eclipse插件都不支持自定义字段。本文档旨在提供一个逐步指南,介绍如何扩展JIRA的SOAP RPC接口来添加自定义操作。具体来说,我们将展示如何添加一个新操作,用于返回自定义字段的类型信息。本文针对JIRA版本4.1.2.1。 #### 概览 ##### JIRA简介 JIRA基于Java插件技术构建,并作为一个服务器运行,可能部署在Apache之后。在本指南中,我们将在安装于JIRA服务器的标准SOAP RPC插件上进行修改。 ##### 总体解决方案 客户端应用将通过SOAP协议与JIRA通信。为了简化开发过程,客户端不会直接使用SOAP,而是利用Bob Swift的JIRA SOAP库。该库使得编写JIRA SOAP客户端变得容易,无需编译WSDL或管理生成代码的依赖关系。由于JIRA的SOAP接口将会被扩展,因此相应的调整也必须在此库中完成。 ##### 需要完成的工作 本示例由三部分组成: 1. **Atlassian的SOAP RPC插件**:运行在服务器端。 2. **Bob Swift的JIRA SOAP库**:运行在客户端。 3. **示例应用**:作为客户端的一部分。 要添加到JIRA SOAP API的操作如下,但暂时不包含真实的实现: ``` String getTypeDescForCustomField(String token, String id); ``` 第一个参数是SOAP认证令牌,第二个参数是感兴趣的自定义字段ID。 #### 步骤详解 ##### 第一步:修改Atlassian的SOAP RPC插件 1. **定位SOAP接口**:首先需要找到JIRA的SOAP接口代码。这通常位于`/plugins/servlet/soap/`目录下。 2. **添加新方法**:在接口定义中添加新的`getTypeDescForCustomField`方法。 3. **实现逻辑**:实现该方法,使其能够查询并返回指定自定义字段的信息。 4. **测试验证**:确保新添加的方法能够正确工作,并且不会影响原有接口的功能。 ##### 第二步:更新Bob Swift的JIRA SOAP库 1. **同步接口变更**:根据第一步中的接口变更,更新Bob Swift的JIRA SOAP库。 2. **生成客户端代码**:使用更新后的库重新生成客户端代码。 3. **集成测试**:将更新后的库集成到客户端应用中,并进行测试,确保能够正常调用新添加的操作。 ##### 第三步:创建示例应用 1. **设计应用结构**:根据业务需求设计客户端应用的基本结构。 2. **调用新操作**:在应用中调用新添加的`getTypeDescForCustomField`方法。 3. **展示结果**:在界面上展示返回的自定义字段信息。 4. **功能验证**:确保应用能够正确调用新操作并显示预期结果。 #### 结论 通过本文档提供的步骤,开发者可以成功地扩展JIRA的SOAP API,从而添加自定义操作。这对于那些希望利用JIRA的强大功能并与之深度集成的团队来说至关重要。尽管示例中仅展示了如何添加一个简单的自定义字段查询操作,但同样的方法可以应用于更复杂的场景,以满足各种业务需求。
剩余11页未读,继续阅读
- 粉丝: 1790
- 资源: 271
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于SimPy和贝叶斯优化的流程仿真系统.zip
- (源码)基于Java Web的个人信息管理系统.zip
- (源码)基于C++和OTL4的PostgreSQL数据库连接系统.zip
- (源码)基于ESP32和AWS IoT Core的室内温湿度监测系统.zip
- (源码)基于Arduino的I2C协议交通灯模拟系统.zip
- coco.names 文件
- (源码)基于Spring Boot和Vue的房屋租赁管理系统.zip
- (源码)基于Android的饭店点菜系统.zip
- (源码)基于Android平台的权限管理系统.zip
- (源码)基于CC++和wxWidgets框架的LEGO模型火车控制系统.zip