当前位置: 首页 > news >正文

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

此脚本可以连接Jira,通过Jira的token,Jira对象可以实现与Jira的交互,
从而完成jira与pytest的交互,或者其他自动化测试框架也行,
例如: 将pytest运行结果推送jira;将jira用例与自动化测试用例建立映射关系,将功能用例对应的自动化测试用例脚本路径推送到功能用例的描述栏,或者自动化栏 里面

#!/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("登录失败")

相关文章:

  • C++-----------酒店客房管理系统
  • Maven下载安装IDEA使用MavenJava在pom.xml配置教程
  • Python--多线程
  • 探索ChatGPT背后的前端黑科技
  • 机器学习数学基础:26.随机变量分布详解
  • Python用PyMC3马尔可夫链蒙特卡罗MCMC对疾病症状数据贝叶斯推断
  • 一阶微分方程的解法与通解式全解析
  • gitlab无法登录问题
  • 周考考题(学习自用)
  • 【webview Android】视频获取首帧为封面
  • Niginx笔记
  • 本地部署DeepSeek(Mac版本,带图形化操作界面)
  • 广东茂名能源国际会议(IS-ESE 2025)
  • 备战蓝桥杯 Day1 回顾语言基础
  • 数字化转型的深度思考与最佳实践
  • Linux查找占用的端口,并杀死进程的简单方法
  • 智慧升级,赋能未来——开启安全高效与绿色低碳新篇章
  • 深入Flask:如何优雅地处理HTTP请求与响应
  • Spring IoC的实现机制是什么?
  • 数组_移除元素
  • 做自媒体的有哪些素材网站/discuz论坛seo设置
  • 网站建设中html下载/中国新闻
  • 绥化做网站/如何做百度免费推广
  • 弹窗网站制作器/洛阳网站建设
  • 导购网站制作/建站软件
  • 网站建设相关的网站/seo链接优化建议