获取使用GitHub api和Jira api Authentication的方法
近段时间在搭建我司的用例管理平台,有如下需求:
1、需要根据项目--版本--轮次的形式来管理项目用例,用例统一保存在git工程。
2、执行用例时,如果用例执行失败,可以通过平台在Jira上提bug。
通过调研发现可以使用GitHub api和Jira api,通过http调用的方式来实现,那么获取使用Api的Authentication作为第一步就尤为重要。其实Git作为代码管理工具,Jira作为需求、缺陷等项目与事务跟踪工具,已被大部分公司使用,只是平时我们没有类似上述的需求。下面简述下我如何使用。
一、获取Jira api Authentication
首先:这是jira api地址:https://developer.atlassian.com/cloud/jira/platform/rest/v2/#api-rest-api-2-field-fieldKey-option-get 这个文档中 Authentication and authorization章节介绍的获取Authentication 都比较麻烦。
其次:通过搜索我发现另外一个Api介绍文档https://developer.atlassian.com/server/jira/platform/basic-authentication/ 该文档中Security章节中介绍了几种访问api的方式,我使用了Basic Authentication,这种方式相对来说最简单、最容易理解,因为它使用的是自己登录Jira的用户名和密码。下面就说明如何使用
方法一:
英文原文如下:
Most client software for sending requests automatically generate the authorization header when you provide a username and password.
For example, in cURL you can specify a username and password combination with the -u argument to send a request to a Jira site
意思就是说如果我们提供用户名和密码,大多数用于发送请求的客户端软件会自动生成授权标头
比如:curl -u username:password -X GET -H "Content-Type: application/json" http://localhost:8080/rest/api/2/issue/createmeta 即可调通api了。
这种方式需要明文提供自己的用户名和密码,相对风险比较高。况且如果我们想使用httpClient调用,这种方式也不满足要求
方法二:
英文原文如下:
- Build a string of the form
username:password. - Encode the string to Base64.
- Supply an authorization header with format
Authorization: Basic {encoded-string}. Make sure to replace{encoded-string}with your encoded string from Step 2
意思就是通过Base64加密的方式加密username:password,然后在http请求的header中添加Basic {encoded-string}即可
比如:curl -H "Authorization: Basic {encoded-string}" -X GET -H "Content-Type: application/json" http://localhost:8080/rest/api/2/issue/createmeta 即可调通api了
第三:编写自己调用httpClient的工具,在header中设置Authorization: Basic {encoded-string}即可,就可以随意调用Jira api。
二、获取GitHub api Authentication
首先:git api地址:http://git.51.nb/help/api/README.md。登录公司的git, 点击头像后,选择help,在help页面提供的文档中选择API。
其次:在api首页我们可以看到,官网提供了三种方式获取Authentication:OAuth2 tokens、Personal access tokens、Session cookie。
我们选择第二种方式,同样是因为相对来说最简单、最容易理解。
英文原文如下:
1、Log in to your GitLab account.
2、Go to your Profile settings.
3、Go to Access tokens.
4、Choose a name and optionally an expiry date for the token.
5、Choose the desired scopes.
6、Click on Create personal access token.
7、Save the personal access token somewhere safe. Once you leave or refresh the page, you won't be able to access it again.
意思就是登录公司的git后,在头像--settings--Access tokens 页面,填写name、失效时间以及使用范围,点击创建personal access token。创建成功后,页面会显示新的access token,页面刷新后这个值就不再显示,所以我们要保存在某个地方


比如:curl -H 'private-token: xxxxxxxxxxx' -X GET http://xxxxxx/api/v4/projects/xxxx 即可调通GitHub Api.
第三:编写自己调用httpClient的工具,在header中设置private-token: xxxxxxxxxxx即可,就可以随意调用GitHub Api。
获取使用GitHub api和Jira api Authentication的方法的更多相关文章
- jira以及jira API简单介绍
最近需要预言:是否可以通过jira API实现用例管理,对jira的应用.API.扩展等进行了一定的了解. Jira介绍: jira是目前比较流行的基于Java架构的管理系统(Atlassian公司支 ...
- Using HAProxy as an API Gateway, Part 2 [Authentication]
转自:https://www.haproxy.com/blog/using-haproxy-as-an-api-gateway-part-2-authentication/ HAProxy is a ...
- (四)Jira Api对接:缺陷分析和任务分析
迭代进行期间或者结束后,在我们的测试日报或者测试报告中需要体现缺陷详细情况,甚至大家工作效率情况.本文就讨论下如何通过jira api获取缺陷信息并进行分析,同时获取需求子任务情况来了解测试和开发的工 ...
- (五)Jira Api对接:修改任务状态
项目迭代结束后我们需要把sprint下面的story.task任务状态修改到结束状态,如果手动修改会花费不少时间,本文就介绍如何通过jira api自动修改任务状态,提高工作效率. 一.查看任务工作流 ...
- Web APi之认证(Authentication)两种实现方式后续【三】(十五)
前言 之前一直在找工作中,过程也是令人着实的心塞,最后还是稳定了下来,博客也停止更新快一个月了,学如逆水行舟,不进则退,之前学的东西没怎么用,也忘记了一点,不过至少由于是切身研究,本质以及原理上的脉络 ...
- 【HTML5】使用 JavaScript 来获取电池状态(Battery Status API)
HTML5 规范已经越来越成熟,可以让你访问更多来自设备的信息,其中包括最近提交的 "Battery Status API".如其名称所示,该 API 允许你通过 JavaScri ...
- day71:drf:API接口&Restful API规范&Django Rest Framework&drf中的序列化和反序列化功能
目录 1.web应用模式 2.API接口 3.Restful API规范 4.序列化 5.Django Rest Framework 1.drf的简单介绍 2.drf的特点 3.如何安装drf 4.d ...
- 【quickhybrid】API的分类:短期API、长期API
前言 一切就绪,开始规划API,这里在规划前对API进行了一次分类:短期API.长期API 首先申明下,这个是在实际框架演变过程中自创的一个概念,其它混合框架可能也会有这个概念,但应该是会在原生底层来 ...
- 一些斗鱼TV Web API [Some DouyuTv API]
一些斗鱼TV Web API [Some DouyuTv API] 写在最前 去年TI5前开发了dotaonly.com,网站需要用到各个直播平台API.不像国外网站Twitch那样开放,都有现成 ...
随机推荐
- 使用django+rpc进行服务内部交互
一.为什么使用rpc. 1)相比uwsgi,使用rpc的长连接可以不需要频繁创建连接,提高传输效率. 2)rpc支持同步和异步,对于不需要等待返回的消息可以不等待返回继续运行,减少客户端等待时间. 3 ...
- (转) Oracle SQL优化必要的全表扫描思路分析
大多数情况下,我们需要避免SQL在查询时进行全表扫描(FTS),但是对于必须需要进行全表扫描的情况,也可以进行一些优化处理. 即使全表扫描是检索所需数据的唯一可行方法,仍然有多种方法来提升查询性能.优 ...
- MySQL 数据库的创建、修改、删除、跳转
一. 创建数据库 []代表可选项. IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作. <数据库名>:创建数据库的名称.MySQL 的数据存储区 ...
- C语言做的句柄程序
以vs2015为例---创建对话框程序 一直下一步,下一步,到最后 通过一个小型程序诸如 microsoft spy++我们可以获悉,窗口中失效按钮的句柄为0x00040AE8,由此我们可以给句柄发 ...
- 【NOIP2016提高A组模拟9.17】序列
题目 分析 首先用\(a_i\)表示达到目标的步数\(B_i-A_i(mod 4)\) 根据粉刷栅栏,先不管mod 4的情况,答案就是\(\sum\max(a_i-a_{i+1},0)\) 那我们刚才 ...
- 【NOIP2012模拟10.31】掷骰子
题目 太郎和一只免子正在玩一个掷骰子游戏.有一个有N个格子的长条棋盘,太郎和兔子轮流掷一个有M面的骰子,骰子M面分别是1到M的数字.且掷到任意一面的概率是相同的.掷到几.就往前走几步.当谁走到第N格时 ...
- HBase(1.0.2) API数据模型
几个相关类与HBase数据模型之间的对应关系 java类 HBase数据模型 HBaseAdmin 数据库(DataBase) HBaseConfiguration HTable 表(Table) H ...
- form表单细节
一.表单 表单<form> 标签用于为用户输入创建 HTML 表单 表单能够包含 input 元素,比如文本字段.复选框.单选框.提交按钮等等. 表单还可以包含 menus.textare ...
- 5. ClustrixDB SQL语法
CustrixDB支持的DML语法 SELECT, DISTINCT, [LEFT | RIGHT | OUTER] JOIN, STRAIGHT_JOIN UNION, HAVING, GROUP ...
- FastDfs单机版搭建
详细的最新版fastdfs单机版搭建 前言 目前项目是tomcat单机部署的,图片.视频也是上传到tomcat目录下,关键是此项目的主要内容还就是针对图片.视频的,这让我非常担忧:文件服务器的应用是必 ...