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完成,写个文档的更多相关文章

  1. 你会用AngularJS,但你会写AngularJS文档么?

    你会用AngularJS,但你会写AngularJS文档么? 涉及知识:gulp javascript 我们经常在写代码的时候要求写好注释,方便日后维护.但其实注释还有一个重要的用途:生成API文档. ...

  2. 「快学springboot」16.让swagger帮忙写接口文档

    swagger简介 官方的介绍 THE WORLD'S MOST POPULAR API TOOLING Swagger is the world's largest framework of API ...

  3. 传智播客C/C++各种开发环境搭建视频工具文档免费教程

    传智播客作为中国IT培训的领军品牌,一直把握技术趋势,给大家带来最新的技术分享!传智播客C/C++主流开发环境免费分享视频文档中,就有写一个helloworld程序的示范.火速前来下载吧 所谓&quo ...

  4. Web Api 自动生成帮助文档

    Web Api 自动生成帮助文档   新建Web Api项目之后,会在首页有API的导航菜单,点击即可看到API帮助文档,不过很遗憾,Description 是没有内容的. 怎么办呢? 第一步: 如果 ...

  5. 《Spring Boot 实战纪实》之如何攥写需求文档

    目录 前言 (思维篇)人人都是产品经理 1.需求文档 1.1 需求管理 1.2 如何攥写需求文档 1.3 需求关键点文档 2 原型设计 2.1 缺失的逻辑 2.2 让想法跃然纸上 3 开发设计文档 3 ...

  6. 第三方API接口测试问题反馈文档

    大家在给甲方做大型项目的时候,有时候参与的厂商比较多,而公司负责的部分又需要第三方厂商提供接口支持. 例如我们做医疗行业的,给医院提供医保控费系统服务的,就需要HIS厂商提供接口给我们采集数据.有时候 ...

  7. Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  8. 【DevOps敏捷开发动手实验】开源文档 v2015.2 stable 版发布

    Team Foundation Server 2015 Update 2版本终于在2周前的//Build 2016大会上正式发布了,借这个东风,小编也完成了[DevOps敏捷开发动手实验]开源文档的第 ...

  9. 看云&gitbook 写帮助文档 | 专注于文档在线创作、协作和托管

    看云 写帮助文档 | 专注于文档在线创作.协作和托管 https://www.kancloud.cn/manual/thinkphp/1678 https://www.gitbook.com/

随机推荐

  1. 《Cracking the Coding Interview》——第13章:C和C++——题目7

    2014-04-25 20:18 题目:给定一个Node结构体,其中包含数据成员和两个Node*指针指向其他两个Node结构(还不如直接说这是个图呢).给你一个Node指针作为参数,请做一份深拷贝作为 ...

  2. DOS程序员手册(五)

    第8章磁           盘       学习编程语言,常常是从基本的输入和输出入手的(正如第5.6和第7章曾介绍的一 样).到目前为止,我们不仅学习了怎样输入和输出数据,还学习了如何进行数据操作 ...

  3. 21、AngularJs知识点总结 part-3

    1.选择框select 在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,也可以使用ng-repeat 指令来创建下拉列表: 区别:ng ...

  4. 【vim环境配置】在centos6.4上配置vim的一些零碎记录

    上一篇日志已经step by step地实录了如何在本机mac上配置vim开发环境已经各种插件. 有了一定经验之后,开始在实验室远程server上centos6.4的环境下配置vim环境. 这台机器是 ...

  5. 基于Python的selenuim自动化测试尝试

    工作这么多年了,终于狠下心好好开始学学自动化测试相关知识,揭开这层神秘的面纱. 困难重重,障碍很多,但好在每天都多少有点小收获. 很感谢一个QQ好友推荐的虫师,也非常感谢在这个契机读到了虫师编著的&l ...

  6. Python 3基础教程8--if else、if elif else

    本文介绍if else语句,不多说,直接看例子. if elif else语句

  7. 孤荷凌寒自学python第五天初识python的列表

    孤荷凌寒自学python第五天 列表 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 粗俗地区分列表,可以这样理解,定义或print列表后显示时,列表中的各元素都是用一个方括号[]括起来的. ...

  8. TensorFlow dataset API 使用

    # TensorFlow dataset API 使用 由于本人感兴趣的是自然语言处理,所以下面有关dataset API 的使用偏向于变长数据的处理. 1. 从迭代器中引入数据 import num ...

  9. sql server获取后天距离某一日期还有多少周的写法

    ),,),'2012-10-18 00:00:00.000')

  10. 【Luogu】P3288方伯伯运椰子(消圈定理)

    题目链接 分数规划题,详见luogu题解 #include<cstdio> #include<cstring> #include<cctype> #include& ...