调用接口登录禅道_干货,调用api获取禅道需求列表等
最近有用到开源版的禅道系统,版本10.0,为了更方便地获取禅道信息,我参照官方的说明写了禅道api调用的脚本。由于网上能搜到的博客基本没有,我就把自己的成果分享一下。在此申明,此文章内容是我自己原创,并不涉及公司机密,同时请各位请尊重我的劳动成果。
废话不多说,直接上代码再解释吧。
import requests
import json
class Zentao_cli(object):
session = None #用于实现单例类,避免多次申请sessionID
sid = None
def __init__(self, url, account, password, override = False):
self.url = url
self.account = account #账号
self.password = password #密码
self.session_override = override #是否覆盖原会话
self.pages = {
"sid": "/index.php?m=api&f=getSessionID&t=json", #获取sid的接口
"login": "/index.php?t=json&m=user&f=login&account={0}&password={1}&sid={2}", #登录的接口
"get_story_list_by_projectID": "/index.php?t=json&m=story&f=ajaxGetProjectStories&projectID={0}",
"get_story_list_by_account": "/index.php?"
}
self.s = None
self.sid = None
def req(self,url):
#请求并返回结果
web = self.s.get(url)
if web.status_code == 200:
resp = json.loads(web.content)
if resp.get("status") == "success":
return True, resp
else:
return False, resp
def login(self):
if self.s is None:
if not self.session_override and Zentao_cli.session is not None:
self.s = Zentao_cli.session
self.sid = Zentao_cli.sid
else:
#新建会话
self.s = requests.session()
res, resp = self.req(self.url.rstrip("/") + self.pages["sid"])
if res:
print("获取sessionID成功")
self.sid = json.loads(resp["data"])["sessionID"]
Zentao_cli.sid = self.sid
login_res, login_resp = self.req(self.url.rstrip("/") + self.pages["login"].format(self.account, self.password, self.sid))
if login_res:
print("登录成功")
Zentao_cli.session = self.s
def get_story_list_by_projectID(self, projectID):
#根据projectID获取需求列表
req_url = self.url.rstrip("/") + self.pages["get_story_list_by_projectID"].format(str(projectID))
web = self.s.get(req_url)
if web.status_code == 200:
resp = json.loads(web.content.decode())
for k,v in resp.items():
print(k,v)
if __name__ == "__main__":
cli = Zentao_cli("http://192.168.xx.xx/zentao", "xxxxxx", "xxxxxx123")
cli.login()
cli.get_story_list_by_projectID(17)
并没有依赖太多的库,只用了常用的requests和json模块,api调用的接口是从源码中找到的。类初始化的时候只需要传入禅道地址,帐号名,密码,然后调用获取的方法就行了。如果要做更多的操作,比如获取bug列表,提交bug,提交需求,就需要与源码中的函数一一对应写函数传参数进行交互。
如果本文章对您有用别忘了点个赞,加收藏。如果想要更多的函数实现,请在评论区艾特我,或者私信我,另外欢迎找我交流。
调用接口登录禅道_干货,调用api获取禅道需求列表等相关推荐
- 调用接口登录禅道_请教调用API新增禅道用户
原帖由 石洋洋 于 2019-12-12 09:25:59 发表 调用例子: PATH_INFO方式 1.访问 http://x.com/api-getsessionid.json获取禅道sessio ...
- java调用接口失败重调_接口调用失败的退避策略
退避策略简介 在开发过程中我们经常会遇到调用接口失败的情况.遇到这种情况,我们有时候需要重试机制,常用的重试(退避)策略有: 固定的时间间隔重试一次,最多重试N次:比如我现在一个接口调用失败了,不是立 ...
- cxf调用接口的几种方式_Java调用CXF WebService接口的两种方式实例
1.静态调用 // 创建WebService客户端代理工厂 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); // 判断是否抛出 ...
- 调用接口登录禅道_调用禅道api创建新用户
调用禅道api创建新用户 使用禅道API是一件非常麻烦的事,因为它没有详细的API文档. 官方在网站内嵌的API文档极其简略,根本不知道需要传递什么参数. 如何知道该如何使用它提供的API呢? 你必须 ...
- 调用接口登录禅道_第三方应用配置免密登录禅道
禅道11.5.1版本开始,增加第三方应用免密登录禅道的功能. 下面,我们来介绍一下免密登录的具体配置. 一.添加应用,开启免密登录 登录禅道,到后台--二次开发--应用,添加应用时开启免密登录. 只有 ...
- 调用接口登录禅道_有java调用api登录并验证禅道的实例吗
展开全部 本文实例为大家分享了32313133353236313431303231363533e78988e69d8331333363396466JAVA的短信验证码api调用代码,供大家参考,具体内 ...
- 很多人调用接口会阻塞吗_锻炼的真相你知道吗?这些你可能都想了解,很多人都会问的2点...
你喜欢运动吗?你了解过运动吗? 每天从食物上所摄取的能量需要运动多久才能消耗完呢? 每天坚持锻炼为什么体重一直不降呢? 每天坚持锻炼的人一定很健康吗? ...... 对于以上问题,相信一样也是你想了解 ...
- 很多人调用接口会阻塞吗_经常提前还花呗会提高额度?很多人都想错了,你也是这样吗?...
如今因为有支付宝的存在,极大的满足了我们对消费的需求,资金周转不过来的时候可以敞开了用,解决了大家不少的燃眉之急,但它是一个让人又爱又恨的东西,因为它可以在资金匮乏的时候解决没钱的苦恼,恨的是因为过度 ...
- java禅道_使用Java+Excel统计禅道上问题处理情况
背景:部署在服务器上的禅道,查看测试报告模块不正常,无法看细节.因需要,需每日记录禅道问题处理情况,特做此脚本,每日下班前运行. 下图为每日BUG记录,每周.每月.一个版本周期的bug处理情况同样做法 ...
- python主程序调用子程序的指令是_要调用子程序,必须在主程序中用M98指令编程,而在子程序结束时用M99返回主程序_学小易找答案...
[判断题]刀具补偿过程包括刀补的建立.刀补的执行和刀补的取消三个阶段. [判断题]数控机床只适用于加工零件的批量小.形状复杂.经常改型且精度高的场所 [单选题]甲公司2017年年初未分配利润为80万元 ...
最新文章
- 第二百七十五节,MySQL数据库安装和介绍
- javascript写字技巧_【iGeek手册】如何书写更加简洁的javascript代码?
- mfc如何删除lineto画的_见到过的最完整的CAD实例教程:如何画切割刀片
- python filter map区别_python中filter、map、reduce的区别
- 【Lucene】Apache Lucene全文检索引擎架构之中文分词和高亮显示4
- pytorch中lr_scheduler的使用
- 交叉编译工具arm-linux-gccarm-elf-gcc下载地址全集
- 【SQL】字符串去空格解决方法
- 红外测距模块 51单片机_红外通信原理
- 项目管理学习流程图-ITTO-PMP
- PC机并口、并口扩展卡使用EPP模式通信,ECP SPP等
- 【AAAI 2021】全部接受论文列表(一)
- 【书影观后感 一】大秦帝国的罗曼蒂克消亡史
- pdf文件太大怎么压缩?四个步骤完成
- 不会吧不会吧,不会真有人还不会算时间复杂度吧?用十分钟让你明白如何计算时间复杂度
- PS进阶篇——如何PS软件给衣服换个颜色或图案风格(七)
- 实用项目管理-干系人管理
- 天生励志难自弃—记新东方胡平老师的美丽人生
- ANSYS渡槽槽身动水压力的施加(1)——矩形渡槽
- < Linux >:shell命令初步认识,Linux权限