开发API完成,写个文档
Jira对接Prism开发API指南
|
部门 |
证系统运维团队 |
|
文档制作人 |
陈刚() |
|
时间 |
2017-04-05 |
|
版本 |
第一版 |
目录
目的... 1
通例:... 1
认证... 2
新建版本单... 2
获取指定版本单的发布单信息... 3
目的
为了提升工作效率,打通jira和prism之间的联系,让软件项目管理人员可以在jira上新建版本单,并跟踪发布进度,特在prism上制作相关API供jira调用。
通例:
l Prism的web址会因环境不同或构架变更而发生变更,jira端须提供自定义prism的api网址。
l 文档仅以根目录演示相关url。
l 演示代码主要以python为主,如果为javascript,会特别说明。
l jira端可以自行构造认证表单,将获取的token保留。或是提供用户自行配置token。
认证
|
认证 |
成功 |
失败 |
|
URL |
/api/api-token-auth/ |
|
|
请求方法 |
POST |
|
|
请求参数 |
Username, password |
|
|
状态码 |
200 |
400 |
|
返回消息 |
Json对象, 具体消息见demo |
Json对象, 具体消息见demo |
Demo:
|
url = "http://127.0.0.1:8000/api/api-token-auth/" payload = {'username': 'kevsin', 'password': 'xxx'} r = requests.post(url, data=payload) print r.status_code #成功200 失败 400 print r.text #成功输出:{"token":"d92bbea2a4b3bb1235badf87490ba7c980e9ebab"} #失败输出:{"non_field_errors":["无法使用提供的认证信息登录。"]} |
新建版本单
|
新建版本单 |
成功 |
失败 |
|
URL |
/api/versionpool/ |
|
|
请求方法 |
POST |
|
|
请求参数 |
Name, site_name |
|
|
状态码 |
201 |
400 |
|
返回消息 |
Json对象, 具体消息见demo |
Json对象, 具体消息见demo |
***为保证prism内版本单的名单唯一性,Prismw会自动为jira传过来的版本单号加上项目名称,以此作为prism的版本单名称
Demo:
|
url = "http://127.0.0.1:8000/api/versionpool/" mytoken="d92bbea2a4b3bb1235badf87490ba7c980e9ebab" headers={'Authorization': 'Token {}'.format(mytoken)} payload = {'name': '1.78.5', 'site_name': 'SIS-OMM' } r = requests.post(url, data=payload, headers=headers) print r.status_code #成功200 失败 400 print r.text #成功输出:{"create_user":"kevin","message":"创建版本单成功!","result":"success","name":"SIS-OMM-1.78.5"} #site_name不存在时输出:{"create_user":"kevin","message":"项目名不存在!","result":"failed","name":"SIS-OwMM-1.78.5"} #已有相同版本单时输出:{"create_user":"kevin","message":"已存在相同版本单","result":"failed","name":"SIS-OMM-1.78.5"} |
以下提供一个采用vue.js 2的前端框架时,创建版本单的javascript代码供参考:
|
submit: function() { var selected = this.selected; // 这里才是你的表单数据 var versionNo = this.versionNo; // 这里才是你的表单数据 var headers = {} var data = {} data.name = versionNo //塞入post数据 data.site_name = selected //塞入post数据 headers.Authorization = 'Token ' + this.token; //设定html的header头信息 this.$http.post(this.apiVersionListUrl, data, {headers: headers}) //发送post请求 .then(function(response){ this.result = this.versionNo + "版本新增成功!" console.log("right!") }, function(response){ console.log(response); console.log("wrong!"); }); |
获取指定版本单的发布单信息
|
获取指定版本单的发布单 |
成功 |
失败 |
|
URL |
/api/deploypool/ |
|
|
请求方法 |
GET |
|
|
请求参数 |
Site_name, version_name |
|
|
状态码 |
200 |
200 |
|
返回消息 |
返回见demo |
返回为空列表[] |
Demo:
|
url = "http://127.0.0.1:8000/api/deploypool/?site_name=SIS-M&version_name=SIS-M-1.78.5" r = requests.get(url) print r.text #如果传递参数正确且相关版本单内有发布单,输出如下: [ { "id": 140, //发布单ID "name": "20170308163803BR", //发布单名称 "site_name": "SIS-OMM", //发布单所属项目 "version_name": "SIS-OMM-1.78.5", //发布单所属版本单 "app_name": "SIS-OMM-JTC-APP-STATIC", //发布单所属组件 "order_no": 4, //发布单顺序 "deploy_status": "BUILD", //发布单状态 "deploy_progress": null, //发布单部署进度 "create_user": "kevin", //操作用户 "change_date": "2017-03-08T16:38:04" //操作时间 }, { "id": 136, "name": "20170302144843TA", "site_name": "SIS-OMM", "version_name": "SIS-OMM-1.78.5", "app_name": "SIS-OMM-SQL", "order_no": 8, "deploy_status": "DR", "deploy_progress": "待发布", "create_user": "kevin", "change_date": "2017-03-06T15:16:13" } ] |
开发API完成,写个文档的更多相关文章
- 你会用AngularJS,但你会写AngularJS文档么?
你会用AngularJS,但你会写AngularJS文档么? 涉及知识:gulp javascript 我们经常在写代码的时候要求写好注释,方便日后维护.但其实注释还有一个重要的用途:生成API文档. ...
- 「快学springboot」16.让swagger帮忙写接口文档
swagger简介 官方的介绍 THE WORLD'S MOST POPULAR API TOOLING Swagger is the world's largest framework of API ...
- 传智播客C/C++各种开发环境搭建视频工具文档免费教程
传智播客作为中国IT培训的领军品牌,一直把握技术趋势,给大家带来最新的技术分享!传智播客C/C++主流开发环境免费分享视频文档中,就有写一个helloworld程序的示范.火速前来下载吧 所谓&quo ...
- Web Api 自动生成帮助文档
Web Api 自动生成帮助文档 新建Web Api项目之后,会在首页有API的导航菜单,点击即可看到API帮助文档,不过很遗憾,Description 是没有内容的. 怎么办呢? 第一步: 如果 ...
- 《Spring Boot 实战纪实》之如何攥写需求文档
目录 前言 (思维篇)人人都是产品经理 1.需求文档 1.1 需求管理 1.2 如何攥写需求文档 1.3 需求关键点文档 2 原型设计 2.1 缺失的逻辑 2.2 让想法跃然纸上 3 开发设计文档 3 ...
- 第三方API接口测试问题反馈文档
大家在给甲方做大型项目的时候,有时候参与的厂商比较多,而公司负责的部分又需要第三方厂商提供接口支持. 例如我们做医疗行业的,给医院提供医保控费系统服务的,就需要HIS厂商提供接口给我们采集数据.有时候 ...
- Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- 【DevOps敏捷开发动手实验】开源文档 v2015.2 stable 版发布
Team Foundation Server 2015 Update 2版本终于在2周前的//Build 2016大会上正式发布了,借这个东风,小编也完成了[DevOps敏捷开发动手实验]开源文档的第 ...
- 看云&gitbook 写帮助文档 | 专注于文档在线创作、协作和托管
看云 写帮助文档 | 专注于文档在线创作.协作和托管 https://www.kancloud.cn/manual/thinkphp/1678 https://www.gitbook.com/
随机推荐
- 《Cracking the Coding Interview》——第13章:C和C++——题目7
2014-04-25 20:18 题目:给定一个Node结构体,其中包含数据成员和两个Node*指针指向其他两个Node结构(还不如直接说这是个图呢).给你一个Node指针作为参数,请做一份深拷贝作为 ...
- DOS程序员手册(五)
第8章磁 盘 学习编程语言,常常是从基本的输入和输出入手的(正如第5.6和第7章曾介绍的一 样).到目前为止,我们不仅学习了怎样输入和输出数据,还学习了如何进行数据操作 ...
- 21、AngularJs知识点总结 part-3
1.选择框select 在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,也可以使用ng-repeat 指令来创建下拉列表: 区别:ng ...
- 【vim环境配置】在centos6.4上配置vim的一些零碎记录
上一篇日志已经step by step地实录了如何在本机mac上配置vim开发环境已经各种插件. 有了一定经验之后,开始在实验室远程server上centos6.4的环境下配置vim环境. 这台机器是 ...
- 基于Python的selenuim自动化测试尝试
工作这么多年了,终于狠下心好好开始学学自动化测试相关知识,揭开这层神秘的面纱. 困难重重,障碍很多,但好在每天都多少有点小收获. 很感谢一个QQ好友推荐的虫师,也非常感谢在这个契机读到了虫师编著的&l ...
- Python 3基础教程8--if else、if elif else
本文介绍if else语句,不多说,直接看例子. if elif else语句
- 孤荷凌寒自学python第五天初识python的列表
孤荷凌寒自学python第五天 列表 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 粗俗地区分列表,可以这样理解,定义或print列表后显示时,列表中的各元素都是用一个方括号[]括起来的. ...
- TensorFlow dataset API 使用
# TensorFlow dataset API 使用 由于本人感兴趣的是自然语言处理,所以下面有关dataset API 的使用偏向于变长数据的处理. 1. 从迭代器中引入数据 import num ...
- sql server获取后天距离某一日期还有多少周的写法
),,),'2012-10-18 00:00:00.000')
- 【Luogu】P3288方伯伯运椰子(消圈定理)
题目链接 分数规划题,详见luogu题解 #include<cstdio> #include<cstring> #include<cctype> #include& ...