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. 腾讯装扮下拉选项卡特效(QQ空间)

    <DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" ...

  2. <<程序猿健康指南>> 笔记

    序言: 长时间对着电脑工 作.一天下来基本不怎么走动的人,患高血压及 2 型糖尿病的风险远高于其他人群, 这两种疾病会对人体的健康产生长久的严重影响,还会增加心脏病及中风的几率. 前言: 阿米什人(A ...

  3. 【Spiral Matrix】cpp

    题目: Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spira ...

  4. Windows下如何解决git bash的默认home目录路径问题

    转自:http://blog.csdn.net/lucien_zhou/article/details/62069246 为了解决这个问题,我在网上找了好久,尝试过按网上其他人所述,修改 git 安装 ...

  5. Python 3基础教程6-for循环语句

    本文介绍另外一种循环语句,for循环,直接看例子. 用for实现打印1到9的数字. 方法一:写入一个列表,然后遍历列表 # 这里介绍 for循环# 打印1到9 exampleList = [1,2,3 ...

  6. SQL + Python 面试题:之二(难度:中等)

    SQL + Python 面试题:之二(难度:中等)

  7. finally在return之后还是之前运行

    finally在运行前打印出来是return的数据,finally是最后修改的数据,如果finally存在对返回值的修改,则以finally修改的值为准. 综上所述,finally最后运行.

  8. CSU-2214 Sequence Magic

    题目链接 http://acm.csu.edu.cn:20080/csuoj/problemset/problem?pid=2214 题目 Description 有一个1到N的自然数序列1,2,3, ...

  9. 在python中如何比较两个float类型的数据是否相等

    奇怪的现象 前几天跟同事聊起来,在计算机内部float比较是很坑爹的事情.比方说,0.1+0.2得到的结果竟然不是0.3? >>> 0.1+0.2 0.300000000000000 ...

  10. 使用Cookie保存用户和密码然后自动登录

    login.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...