zoukankan      html  css  js  c++  java
  • python操作jira使用指南

    Jira简介

      Jira是一款功能非常强大的管理工具,广泛的用来 缺陷跟踪、用例管理、需求收集、任务跟踪、工时管理、项目计划管理等工作领域。所以使用这款产品的公司很多,这篇博客讲述在执行自动化测试用例过程中,将失败的用例自动在jira系统记录bug。

      提供了完善的RESTful API,如果不想直接请求API接口可以使用Python的Jira库来操作Jira。

    官方文档

    一、安装

    # 安装第三方jira库
    pip install jira

     

    二、认证

    官网提供了4种认证方式:

    • Cookie Based Authentication(用户名、密码)
    • HTTP BASIC(用户名、密码)
    • OAuth
    • Kerberos

    我们选取一种认证方式即可,下文以HTTP BASIC为例:

    # jira访问地址
    server = 'http://jira.xxx.com.cn'
    # 用户名密码以元祖的方式传递。uesrname、passwd填写真实的账号密码
    jiraClinet = JIRA(server=server, basic_auth=('username', 'passwd'))

    三、创建issue

     create_issue() 单个创建issue,传入参数是字典

     create_issues() 批量创建issues,传入参数是列表

    # 创建单个issue
    issue_dict = {
        # key 是项目空间的关键字,将issue记录到此空间
        'project': {'key': 'TOC'},
        'issuetype': {'name': 'Bug'},
        'summary': '测试自动提交',
        'description': '描述',
        'reporter': {'name': '007'},
        'assignee': {'name': '008'},
        # 'priority': {'id': 3},
        # 'customfield_10403':{'value':'研发中心'},
        # 'customfield_11349':{'value':'业务需求'}
    }
    # 返回 issueId
    jiraClinet.create_issue(issue_dict)
    
    
    
    #批量创建issues
    issue_list = [{
        'project': {'key': 'TOC'},
        'issuetype': {'name': 'Bug'},
        'summary': '测试自动提交01',
        'description': '描述01',
        'reporter': {'name': '007'},
        'assignee': {'name': '008'},
    },
    {   
        'project': {'key': 'TOC'},
        'issuetype': {'name': 'Bug'},
        'summary': '测试自动提交02',
        'description': '描述02',
        'reporter': {'name': '007'},
        'assignee': {'name': '008'}
    }]
    
    # 返回 issue 列表
    jiraClinet.create_issues(issue_list)

    四、常用方法

     JIRA类提供了很多方法,这里介绍几个常用的

     1)查询 project

    # 获取所有项目空间列表
    jiraClinet.projects()
    
    # 获取单个项目空间。参数为项目空间 id或key
    # project = jiraClinet.project(100)
    project = jiraClinet.project('xxx')
    
    # 项目的 key
    project.key
    
    # 项目空间的 name
    project.name
    
    # 项目空间 description
    project.description
    
    # 项目空间 lead
    project.lead

    1)查询 issue

    # 查询issue信息,传入参数issueId
    issue = jiraClinet.issue('xxx-679')
    
    # 问题的 key
    issue.key
    
    # 问题的 id
    issue.id
    
    # 问题的配置域
    issue.fields
    
    # 问题标题描述
    issue.fields.summary
    
    # 问题详细描述
    issue.fields.description
    
    # 问题的类型
    issue.fields.issuetype
    
    #问题报告者
    issue.fields.reporter

    3)使用“JQL语句”查询

    # search_issues() 传参是 jira 里的JQL语句,返回一个 issue 列表
    issue_list = jiraClinet.search_issues('JQL语句')
    for issue in issue_list: # 打印每个 issue 的 key print(issue.key)
  • 相关阅读:
    算法经典文章收藏
    Python 学习文章收藏
    Leetcode 刷题计划
    CLR via C# 学习计划
    算法导论 学习计划
    算法导论学习笔记 一 分治算法
    Mongodb 学习笔记
    Python模拟HttpRequest的方法总结
    在Github上搭建自己的博客(Windows平台)
    Git Shell 基本命令(官网脱水版)
  • 原文地址:https://www.cnblogs.com/shenh/p/13852387.html
Copyright © 2011-2022 走看看