近段时间在搭建我司的用例管理平台,有如下需求:

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调用,这种方式也不满足要求

方法二:

英文原文如下:

  1. Build a string of the form username:password.
  2. Encode the string to Base64.
  3. 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的方法的更多相关文章

  1. jira以及jira API简单介绍

    最近需要预言:是否可以通过jira API实现用例管理,对jira的应用.API.扩展等进行了一定的了解. Jira介绍: jira是目前比较流行的基于Java架构的管理系统(Atlassian公司支 ...

  2. 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 ...

  3. (四)Jira Api对接:缺陷分析和任务分析

    迭代进行期间或者结束后,在我们的测试日报或者测试报告中需要体现缺陷详细情况,甚至大家工作效率情况.本文就讨论下如何通过jira api获取缺陷信息并进行分析,同时获取需求子任务情况来了解测试和开发的工 ...

  4. (五)Jira Api对接:修改任务状态

    项目迭代结束后我们需要把sprint下面的story.task任务状态修改到结束状态,如果手动修改会花费不少时间,本文就介绍如何通过jira api自动修改任务状态,提高工作效率. 一.查看任务工作流 ...

  5. Web APi之认证(Authentication)两种实现方式后续【三】(十五)

    前言 之前一直在找工作中,过程也是令人着实的心塞,最后还是稳定了下来,博客也停止更新快一个月了,学如逆水行舟,不进则退,之前学的东西没怎么用,也忘记了一点,不过至少由于是切身研究,本质以及原理上的脉络 ...

  6. 【HTML5】使用 JavaScript 来获取电池状态(Battery Status API)

    HTML5 规范已经越来越成熟,可以让你访问更多来自设备的信息,其中包括最近提交的 "Battery Status API".如其名称所示,该 API 允许你通过 JavaScri ...

  7. 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 ...

  8. 【quickhybrid】API的分类:短期API、长期API

    前言 一切就绪,开始规划API,这里在规划前对API进行了一次分类:短期API.长期API 首先申明下,这个是在实际框架演变过程中自创的一个概念,其它混合框架可能也会有这个概念,但应该是会在原生底层来 ...

  9. 一些斗鱼TV Web API [Some DouyuTv API]

    一些斗鱼TV Web API [Some DouyuTv API]   写在最前 去年TI5前开发了dotaonly.com,网站需要用到各个直播平台API.不像国外网站Twitch那样开放,都有现成 ...

随机推荐

  1. 网络流 最大流 Drainage Ditches Dinic

    hdu 1532 题目大意: 就是由于下大雨的时候约翰的农场就会被雨水给淹没,无奈下约翰不得不修建水沟,而且是网络水沟,并且聪明的约翰还控制了水的流速,本题就是让你求出最大流速,无疑要运用到求最大流了 ...

  2. 折半搜索+Hash表+状态压缩 | [Usaco2012 Open]Balanced Cow Subsets | BZOJ 2679 | Luogu SP11469

    题面:SP11469 SUBSET - Balanced Cow Subsets 题解: 对于任意一个数,它要么属于集合A,要么属于集合B,要么不选它.对应以上三种情况设置三个系数1.-1.0,于是将 ...

  3. git常用的操作命令

    设置git用户名/邮箱: $ git config user.name 'github用户名' $ git config user.email '邮箱' 从指定分支切换新分支: git checkou ...

  4. windows CMD常用基础命令

    一.ping 主要是测试本机TCP/IP协议配置正确性与当前网络现状. ping命令的基本使用格式是: ping IP地址/主机名/域名 [-t] [-a] [-n count] [-l size] ...

  5. PHP三种字符串界定符的区别(单引号,双引号,<<<)

      单引号,双引号,<<<的区别如下: 前续:今天突然遇到了<<<EOT,可在运行的时候出错了,所以就度娘了下. 1.单引号:’a string’  \’是唯一的转 ...

  6. LNMP 多版本PHP同时运行

    首先需要装好两个版本以上的PHP(例如:php5.6和php7两个版本).这里假设你已安装完成.1.配置并启动php默认版本: (设置 nginx 的 vhost 域名配置文件监听端口就好) 1).打 ...

  7. WPF 样式Style

    一:样式基础 如果我们的程序有三个这样的按键,一般我们会这样写 <StackPanel> <!--按键的背景色为Azure蔚蓝色背景色为Coral珊瑚色字体为Arial加粗字体大小为 ...

  8. spring boot 2.0(三)使用docker部署springboot

    Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. 首先构建一个简单的 Spring Boot 项目, ...

  9. java选做猜数字

    程序设计思想 第一步:使用随机数生成1-100的数字 第二步:让用户输入数字 第三步:输入的数字与生成数字不同执行下一步,相同执行第五步 第四步:比较两数大小并输出结果,并返回第二步 第五步:输出猜对 ...

  10. 浅谈Android的资源编译过程

    转载自 http://www.cnblogs.com/dyllove98/p/3144950.html 好长,记录下,一次看完感觉像没看一样 Android APK 一.APK的结构以及生成 APK是 ...