【python】连接Jira获取token以及jira对象

此脚本可以连接Jira,通过Jira的token,Jira对象可以实现与Jira的交互,

从而完成jira与pytest的交互,或者其他自动化测试框架也行,

例如: 将pytest运行结果推送jira;将jira用例与自动化测试用例建立映射关系,将功能用例对应的自动化测试用例脚本路径推送到功能用例的描述栏,或者自动化栏 里面

python 复制代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2025-02-13 10:05
# @Author  : 
# @File    : connect_jira.py
# @Software: PyCharm

import requests
from jira import JIRA


class ConnJira:

    def __init__(self, jira_server, jira_username, jira_password):
        self.jira_server = jira_server
        self.jira_username = jira_username
        self.jira_password = jira_password


    def jira_login(self):
        try:
            # 创建一个 requests 会话对象
            session = requests.Session()
            jira = JIRA(server=self.jira_server, basic_auth=(self.jira_username, self.jira_password),
                        options={'session': session})

            # 创建一个自定义的会话对象并进行认证
            session.auth = (self.jira_username, self.jira_password)
            response = session.get(f'{self.jira_server}/projects/O45/summary')
            response.raise_for_status()
            # 提取 Cookie 信息
            cookie = response.headers['Set-Cookie'].split(';')[0] + ';' + \
                     response.headers['Set-Cookie'].split(';')[2].split(',')[1]
            # print(cookie)
            return cookie, self.jira_server, jira
        except requests.RequestException as req_ex:
            # 处理网络请求异常
            print(f"网络请求出错,未成功连接到jira!: {req_ex}")
        except Exception as ex:
            # 处理其他异常
            print(f"发生未知错误,未成功连接到jira! : {ex}")
        return None, None


# if __name__ == "__main__":
#     # jira_server = "http://10.1.20.64:8123"
#     # jira_username = 'duxiaowei12345678'
#     # jira_password = '123!123!123!123!'
#
#     conn = ConnJira()
#     cookie, jira_server, jira = conn.jira_login()
#     if cookie and jira:
#         print(cookie)
#         print(jira_server)
#         print("成功获取 Cookie 和 Jira 对象")
#     else:
#         print("登录失败")
相关推荐
python开发笔记7 分钟前
python(77) python脚本与jenkins pipeline交互的5种方式
python·jenkins·交互
vx_dmxq2117 分钟前
免费领源码-Spring boot的物流管理系统 |可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·大数据·python·jupyter·课程设计
飞翔的佩奇8 分钟前
【完整源码+数据集+部署教程】鸡只与养殖场环境物品图像分割: yolov8-seg等50+全套改进创新点发刊_一键训练教程_Web前端展示
python·yolo·计算机视觉·数据集·yolov8·yolo11·鸡只与养殖场环境物品图像分割
dreams_dream39 分钟前
Django 数据库迁移命令
数据库·python·django
两只程序猿1 小时前
数据可视化 | 热力图Heatmap绘制Python代码 相关性矩阵学术可视化
python·信息可视化·矩阵
倔强青铜三2 小时前
苦练Python第58天:filecmp模块——文件和目录“找不同”的利器
人工智能·python·面试
倔强青铜三2 小时前
苦练Python第59天:tempfile模块,临时文件自动删!再也不用手动清理到怀疑人生
人工智能·python·面试
IT教程资源2 小时前
(免费分享)基于python的飞机大战游戏
python·游戏·pygame
hello 早上好2 小时前
深入理解 SPI:从定义到 Spring Boot 实践
java·spring boot·python
蒋星熠3 小时前
脑机接口(BCI):从信号到交互的工程实践
人工智能·python·神经网络·算法·机器学习·ai·交互