写点什么

Jira API 的六种传参方式

作者:FunTester
  • 2022 年 3 月 22 日
  • 本文字数:1396 字

    阅读完需:约 5 分钟

曾经写过Jira API的踩坑记一起吐槽接口文档两篇文章吐槽 Jira API 接入过程中遇到的抗,原以为 Jira API 的坑已经踩得七七八八所剩无几了。没想到最近一次功能改动又让我见识到了 Jira API 的混乱。


背景是我们需要实现更多 Jira API 功能的封装,使自动化的缺陷的管理、缺陷的统计、缺陷通知更加精细,所以又看了几个 Jira API 的接口文档。然后呢?我又要吐血了。


由于使用了 Jira 的新版本,所以之前的接口文档已经失效了(谨慎而言),但是经过一遍尝试之后发现之前的实现方式原来都可以正常使用,看来 Jira API 在兼容旧版本方面做的真是好。只需要实现几个新功能的 API 即可完成这个工作目标。


可我还是太天真了,Jira API 怎会给我一条康庄大道。


下面是我在处理 Jira 显示缺陷状态这个数据的时候用到的六种传参方式,其中有获取有设置,而且相互之间不兼容,最可恶的还是不同的接口使用的某一个状态的name还是不一样的,比如关闭状态,在搜索功能用的nameClosed,然后在统计的时候用的是关闭。所以 Jira API 一般 GET 接口会返回很多信息,如果各位不幸遇到,请多关注那些自己暂时用不到的信息,很可能它就是解开另外一个接口上传参数的钥匙。


正常来说,针对某一个状态,我们会对应是个文字描述(一般只有前端显示用),在 Jira API 中通常使用name来表示,然后后端数据库层面,通常使用一个整数型的数据记录,通常使用id,为了统一接口设计字段规范,一般使用 id 进行数据传输(请求和返回),然后前端将id转成name显示,可以通过接口获取缓存或者写到前端代码中。


Jira API 已经证实不按套路出牌,下面是我遇到的关于缺陷状态字段相关功能六种传参方式,各位自行理解:


    public static JSONObject getId(int id) {        JSONObject jsonObject = new JSONObject();        jsonObject.put("id", id + "");        return jsonObject;    }
public static JSONObject set(String str) { JSONObject jsonObject = new JSONObject(); jsonObject.put("set", str); return jsonObject; }
public static JSONObject getId(String id) {
JSONObject jsonObject = new JSONObject(); jsonObject.put("id", id); return jsonObject; }
public static JSONObject getValue(int id) { JSONObject jsonObject = new JSONObject(); jsonObject.put("value", id); return jsonObject; }
public static JSONObject getName(String name) { JSONObject jsonObject = new JSONObject(); jsonObject.put("name", name); return jsonObject; }
public static JSONObject getIdValue(int id, String value) { JSONObject jsonObject = new JSONObject(); jsonObject.put("id", id + ""); jsonObject.put("value", value); return jsonObject; }
复制代码

Have Fun ~ Tester !

发布于: 刚刚阅读数: 2
用户头像

FunTester

关注

公众号:FunTester,750篇原创,欢迎关注 2020.10.20 加入

公众号FunTester,坚持原创文章的测试人,一个有趣的灵魂。

评论

发布
暂无评论
Jira API的六种传参方式_性能测试_FunTester_InfoQ写作平台