Python:JIRA操作

# !/usr/bin/env python
# -*-coding:utf-8 -*-
import os
from jira import JIRA, Issue

class JiraTool:
    def __init__(self, username, password, project=None):
        self.server = 'https://***:***'
        self.username = username
        self.password = password
        self.project = project
        self.jira_conn = JIRA(server=self.server, basic_auth=(self.username, self.password))  # jira服务器,用户名密码

    def get_projects(self):
        """访问权限的项目列表:[<JIRA Project: key='AR2022011', name='识别', id='12882'>,...]"""
        # for p in self.jira_conn.projects():
        #     print(p.key, p.id, p.name)
        return self.jira_conn.projects()

    def get_project(self, project_id):
        """
        通过项目id/key获取项目主要属性:
        key: 项目的Key
        name: 项目名称
        description: 项目描述
        lead: 项目负责人
        projectCategory: 项目分类
        components: 项目组件
        versions: 项目中的版本
        raw: 项目的原始API数据
        """
        project = {
                    'key':self.jira_conn.project(project_id).key,
                    'name':self.jira_conn.project(project_id).name,
                    'description':self.jira_conn.project(project_id).description,
                    'lead':self.jira_conn.project(project_id).lead,
                    'components':self.jira_conn.project(project_id).components,
                    'versions':self.jira_conn.project(project_id).versions,
                    'raw':self.jira_conn.project(project_id).raw
                }
        return project

    def search_jira_jql(self, jql=None, maxnum: int = None):
        """根据jql查询jira,返回[<JIRA Issue: key='PJT-9141', id='302682'>,...]"""
        maxResults = False if maxnum is None else maxnum
        issues = self.jira_conn.search_issues(jql, maxResults=maxResults,json_result=False)
        return issues

    def create_issue(self, issue_dict):
        """
        创建issue,issue_dict = {
        'project': {'id': 10000},
        'summary': 'BUG描述',
        'description': 'BUG详情 \n换行',
        'priority': {'name': 'BUG优先级'},
        'labels': ['标签'],
        'issuetype': {'name': '问题类型-故障'},
        'assignee':{'name': '经办人'} #经办人
        }
   
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值