有效利用 Backlog 的 API
你好。
我是Mandai,负责Wild 开发团队。
在我们公司,我们使用待办事项列表作为开发工具。
Backlog是一个工具,可以作为git、subversion等的存储库服务器,作为进度管理工具,在wiki中聚合知识,在作业中积累任务等等。
我偶尔会使用API,但我的大脑越来越累,我似乎忘记了如何使用它,所以我想我尝试粘贴一些我可以复制和粘贴的代码。
认证
提供了OAuth2.0,不过说实话我没用过。
由于我经常在批处理程序中使用它,所以我别无选择,只能请求使用 API 密钥。
// 使用curl获取它curl https://xx.backlog.jp/api/v2/users/myself?apiKey=abcdefghijklmn
使用 PHP 获取 $response = file_get_contents('https://xxx.backlog.jp/api/v2/users/myself?apiKey=abcdefghijklmn');
如果您更改子域和路径,则 GET 访问很容易。
最困难的部分是找出使用哪个API,因为它的功能非常多,而且API也很发达。
增删改查处理
Backlog API 是 RESTful 的,因此它明确定义了各种 CRUD 流程的 HTTP 方法。
- 如果你想获取信息,GET
- 对于信息创建,POST
- 编辑信息,PUT 或 PATCH
- 要删除信息,请删除
请注意,API端点通常是相同的,因此如果您使用错误的HTTP方法,您可能会删除重要数据。
编辑时 PUT 和 PATCH 的区别并不意味着您应该使用其中一种,而是接受的方法由 API 决定,因此请查看Backlog API 文档
当你想获取信息时
如果您想获取信息,请使用 GET 方法发送。
# 获取空间信息curl https://[subdomain].backlog.jp/api/v2/space?apiKey=[API KEY]
当你想要创建信息时
如果要创建信息,请使用 POST 方法发送。
# 添加维基页面curl -X POST https://[subdomain].backlog.jp/api/v2/wikis?apiKey=[API KEY] -d "projectId=xxx" -d "name=wiki_name" -d " content =hogehoge" # 注册一个新问题curl -X POST https://[subdomain].backlog.jp/api/v2/issues?apiKey=[API KEY] -d "projectId=xxx" -d "summary=issue_title " -d "issueTypeId=1" -d "priorityId=3" # 获取类型信息 # 重写子域名、项目ID、API KEY curl https://[subdomain].backlog.jp/api/v2/projects/ [xxx]/ issuesTypes?apiKey=[API KEY] # 获取优先级列表 # 重写子域名和 API KEYcurl https://[subdomain].backlog.jp/api/v2/priorities?apiKey=[API KEY ]
当您想要编辑信息时
如果要编辑信息,请使用 POST 或 PATCH 方法发送。
不同API的方法类型有所不同,请参考文档。
# 更新项目信息 # 指定projectIdOrKey的地方,可以指定ProjectID或ProjectKey curly -X PATCH https://[subdomain].backlog.jp/api/v2/projects/[projectIdOrKey]?apiKey= [API KEY] - d "name=changed_name" # 将通知标记为已读curl -X POST https://[subdomain].backlog.jp/api/v2/notifications/[notification_id]/markAsRead?apiKey=[API KEY ] # 获取notification_id curl https ://[子域名].backlog.jp/api/v2/notifications?apiKey=[API 密钥]
当你想删除信息时
如果要删除信息,请发送DELETE方法。
反之,如果不添加DELETE方法,则不会被删除,除非有意删除(或者程序中有错误)。
# 删除问题 # 可以为issueIdOrKey指定ID或Keycurl -X DELETE https://[subdomain].backlog.jp/api/v2/issues/[issueIdOrKey]?apiKey=[API KEY ]
检查API操作的有用工具
Firefox 是运行 API 的有用工具。
它是一个超级主流的浏览器应用程序,所以我相信你也知道它,但是你不是一直在使用Chrome吗?
当我在Chrome中运行Backlog的API时,API执行的结果是乱码,但是从55版本左右开始,已经无法更改字符编码,所以没有办法改进。
(可能因为它不是 HTML,所以没有指定编码)
在这一点上,Firefox在显示字符时没有乱码,并且引入了自动解析JSON数据的机制,让查看JSON数据变得更加容易。
此外,Chrome和Firefox中还有很多RESTful API的附加组件和扩展,因此如果您使用自己熟悉的,开发速度会更快。
这些工具经常用于API开发,但我仍然使用curl来创建测试用例的shell脚本,因此我无法提供任何推荐的API浏览器信息。
概括
您对这个简短的总结有何看法?
除了任务管理和进度管理之外,您还可以将 JSON 粘贴到 Wiki 中并将其用作 DB,将其用作文件存储,以及将其用作开发工具以外的其他用途,具体取决于您的想法。
最好不要在适当的系统中使用它通过粘贴 JSON 来交换信息,但在使用供个人使用的小型 shell 脚本自动化工作时,它对于存储数据很有用。
当跨多个服务器进行详细处理时,每次更改与DB的连接限制是很麻烦的,而且我认为它很容易使用,因为它很容易访问API并且可以留下来。
就是这样。