小李在Jira中处理任务时,发现一个表格数据很有趣。他决定为每一行数据创建一个新的子任务。他复制粘贴,忙得不亦乐乎。同事小张路过,好奇地问:“你在做什么?”小李得意地回答:“我在批量新建子任务,让这些数据都活起来!”小张瞪大眼睛:“你确定这不是在玩‘俄罗斯方块’?”

于是,有了它~

# encoding=utf-8

from jira import JIRA
from openpyxl import load_workbook
import os, pytest, traceback jira_server = "xxxxxx"
jira_username = "xxxxx"
jira_password = "xxxxx"
file_name = 'xxxxx'
sheet_name = 'xxxx' #获取jira消息
def jira_info(jira_server, jira_username, jira_password):
jira = JIRA(server=jira_server, basic_auth=(jira_username, jira_password))
return jira #读取表数据
def get_TestExcel(file_name, sheet_name):
print("======", os.getcwd())
workbook = load_workbook(file_name)
sheet = workbook[sheet_name]
test_data = []
for i in range(2, sheet.max_row + 1):
sub_data = {}
for j in range(1, sheet.max_column + 1):
sub_data[sheet.cell(1, j).value] = sheet.cell(i, j).value
test_data.append(sub_data)
return test_data case_data = get_TestExcel(file_name, sheet_name) idss = ["标题: {} ".format(data["标题"]) for data in case_data] #根据读取数据新建任务
@pytest.mark.parametrize("test_data", case_data, ids=idss)
def test_create_task(test_data):
project_key = test_data['项目key']
summary = test_data['标题']
description = test_data['描述']
issuetype = test_data['类型id']
assignee = test_data['指向人']
parent = test_data['挂靠需求key']
test_environment_value = test_data['测试环境id']
system_module_value = test_data['信增系统模块id']
print('project_key:%s,summary:%s,description:%s,issuetype:%s,assignee:%s,parent:%s,test_env:%s,sys_module:%s' % (
project_key, summary, description, issuetype, assignee, parent, test_environment_value, system_module_value))
try:
new_issue = jira_info(jira_server, jira_username, jira_password).create_issue(
project={'key': str(project_key)},
summary=str(summary),
description=str(description),
issuetype={'id': int(issuetype)},
assignee={'name': str(assignee)},
parent={'key': str(parent)},
customfield_10265={"id": str(test_environment_value)},
customfield_10268={"id": str(system_module_value)},
)
print(f"新建的任务已创建,其ID为:{new_issue.key}")
except Exception as e:
print('异常: %s' % e) finally: print("Operation completed. Check the error log if any issues.")

python jira 读取表数据批量新建子任务的更多相关文章

  1. Delphi中使用python脚本读取Excel数据

    Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  2. python中读取mongodb数据并保存为csv格式的文件

    import pandas as pd import matplotlib.pyplot as plt import pymongo %matplotlib inline # 连接mongodb数据库 ...

  3. python之读取yaml数据

    一.yaml简介 yaml:一种标记语言,专门用来写配置文件. 二.yaml基础语法 区分大小写: 使用缩进表示层级关系: 使用空格键缩进,而非Tab键缩进 缩进的空格数目不固定,只需要相同层级的元素 ...

  4. 【Python】读取excel数据

    '''python3读取excle数据''' import xlrd workbook = xlrd.open_workbook(r'test.xls', encoding_override='gbk ...

  5. python cx_oracle单个表中批量插入数据

  6. python+jinja2实现接口数据批量生成工具

    在做接口测试的时候,我们经常会遇到一种情况就是要对接口的参数进行各种可能的校验,手动修改很麻烦,尤其是那些接口参数有几十个甚至更多的,有没有一种方法可以批量的对指定参数做生成处理呢. 答案是肯定的! ...

  7. Python将MySQL表数据写入excel

    背景:将mysql表查询结果写入excel. 1.使用sqlyog工具将查询结果导出到Excel.xml中,用excel打开发现:因为text字段中有回车换行操作,显示结果行是乱的. 2.用mysql ...

  8. python中读取文件数据时要注意文件路径

    我们在用python进行数据处理时往往需要将文件中的数据取出来做一些处理,这时我们应该注意数据文件的路径.文件路径不对,回报如下错误: FileNotFoundError: File b'..Adve ...

  9. 使用python,将excel数据批量导入数据库

    这是上一篇文章的优化版本,相较于一条一条的执行sql语句,本文中,将excel中所有的数据先写到list列表中 在通过函数 cursor.executemany(sql, list) 一次性写入到数据 ...

  10. 将mysql表数据批量导入redis zset结构中

    工作中有这样一个需求,要将用户的魅力值数据做排行,生成榜单展示前40名,每隔5分钟刷新一次榜单.这样的需求用redis的zset是很方便实现的.但是数据存在mysql的表中,有400多万条,怎么将其快 ...

随机推荐

  1. NLP文本生成全解析:从传统方法到预训练完整介绍

    本文深入探讨了文本生成的多种方法,从传统的基于统计和模板的技术到现代的神经网络模型,尤其是LSTM和Transformer架构.文章还详细介绍了大型预训练模型如GPT在文本生成中的应用,并提供了Pyt ...

  2. Net 高级调试之九:SOSEX 扩展命令介绍

    一.介绍 今天是<Net 高级调试>的第九篇文章.这篇文章设计的内容挺多的,比如:扩展的断点支持,如何查找元数据,栈回溯,对象检查,死锁检测等等,内容挺多的.功能特别强大,使用特别方便,但 ...

  3. Android 线性布局和相对布局

    LinearLayout 线性布局 orientation 排列方式:vertical 竖直 horizontal 水平(默认值) layout_weight 权重:将子视图以对应的权重分配其空间大小 ...

  4. 明解Java第二章练习题答案

    练习2-1 请对代码清单2-6的2处进行修改,将带有小数部分的实数值赋给x和y,查看结果如何? 答案:编译器会报错,因为小数的默认类型double是比int更大的类型.如果给double类型的变量赋值 ...

  5. 【WCH以太网接口系列芯片】基于CH395的组播请求(IGMP)

    在上一篇文章中,我们通过直连电脑测试了CH395在组播环境中进行数据的收发,但在实际的使用场景中更多的是将CH395接入局域网环境中.因此,我们需要使用到一个协议--IGMP(Internet Gro ...

  6. [ABC261D] Flipping and Bonus

    Problem Statement Takahashi will toss a coin $N$ times. He also has a counter, which initially shows ...

  7. cocos2d-Js 各类碰撞检测

    这里总结一下点.圆.矩形之间的简单碰撞检测算法(矩形不包括旋转状态) 点和圆的碰撞检测: 1.计算点和圆心的距离 2.判断点与圆心的距离是否小于圆的半径 isCollision: function(p ...

  8. 使用Py2neo更新Neo4j中节点的属性值的正确姿势

    1 def findNode(name, graph): 2 matcher = NodeMatcher(graph) 3 m = matcher.match(name = name).first() ...

  9. Oracle-Rman备份全解析

    RMAN备份数据库物理文件到备份集(backupset)中.在创建备份集时,仅备份已经使用的数据库(不备份空闲的数据块),而且还可以采用压缩功能. RMAN恢复时指当数据库出现介质失败时,使用RMAN ...

  10. LFS - Linux From Scratch 从零开始全记录 - 1 准备篇

    上次折腾 LFS 已经是好几年前了,只记得最后用 VMware 引导成功了,好多技术细节已经不记得了.趁着最近有空,再来折腾一次.这一次用的一台新的 Win10 PC,目标是在一个 U 盘上构建 LF ...