由于增加一台新的JIRA服务器,成员和旧的基本相同,但是目前安装使用的JIRA版本又没有导入导出用户功能,所以几百个用户,添加起来非常的麻烦,就在网上找了下方法(数据库或者备份移植暂未考虑)。
环境:
Windows10+Python 3.9.5对JIRA 6.3.6(安装在Linux 2.6.32-754.35.1.el6.x86_64)进行批量用户添加。
步骤:
官网下载安装python程序
官网下载安装Selenium模块
Chrome驱动文件下载:https://chromedriver.storage.googleapis.com/index.html
以上选择与自己系统匹配的即可。
准备csv文件,先创建一个excel文件,jira用户的邮箱、用户名、全名、密码等信息录好,再另存为csv格式文件即可。需要注意的是excel文件名必须英文比如userdata,文件内容第一行开始就是用户内容:
这样准备好名单后,后续就可以让程序读取这些指定的单元格内容来填写到JIRA输入框了。
?网上的代码实操起来有些问题,如速度太快,页面没加载出来找不到对应的提交字段,编码问题,缺少新建下一个入口的页面点击等,我补充修改后的代码如下:
'''python'''
"""自动创建Jira的员工账号"""
from selenium import webdriver
from time import sleep
import csv
PATH = 'E:\jira\chromedriver.exe'
driver = webdriver.Chrome(PATH)#导入谷歌浏览器驱动文件,路径请修改为自己的存放路径
driver.get("http://192.168.1.238:8080/login.jsp") #jira的网址,请修改为自己的jira登陆页面地址
data_set = r'E:\jira\testadduser314.csv'#账号数据文件,路径请修改为自己的存放路径
sleep(5)
#输入jira web端登陆的管理员用户名和密码,记得替换成自己的。
driver.find_element_by_id('login-form-username').send_keys('testAdmin')
driver.find_element_by_id('login-form-password').send_keys('test2022')
driver.find_element_by_id('login-form-submit').click()
sleep(3)
driver.find_element_by_id('admin_menu').click()
driver.find_element_by_id('admin_users_menu').click()
driver.find_element_by_id('login-form-authenticatePassword').send_keys('test2022')#这里也是管理员密码,jira创建用户需要再次确认管理员身份
driver.find_element_by_id('login-form-submit').click()
driver.implicitly_wait(3)
#利用csv模块把csv文件中的所有用户的信息都读取到要给列表中 # 每个用户的信息是列表中一个元素,该元素也是一个拥有完整单个用户信息的列表
reader = csv.reader(open(data_set,'r',encoding='UTF-8'))
rows = [row for row in reader]
#print(rows)
for i in rows:
print(i)
driver.implicitly_wait(3)
driver.find_element_by_id('admin_menu').click()
driver.find_element_by_id('admin_users_menu').click()
sleep(1)
driver.find_element_by_id('create_user').click()
sleep(1)
driver.find_element_by_id('user-create-username').send_keys(i[0])
sleep(1)
driver.find_element_by_id('user-create-password').send_keys(i[1])
sleep(1)
driver.find_element_by_id('user-create-confirm').send_keys(i[1])
sleep(1)
driver.find_element_by_id('user-create-fullname').send_keys(i[2])
sleep(1)
driver.find_element_by_id('user-create-email').send_keys(i[3])
sleep(1)
driver.find_element_by_id('user-create-submit').click()
sleep(8)
driver.close()
运行后完美解决添加太麻烦的问题,一个小时添加了一百多个人;
?
样例运行视频如下:
本来已经做好了,上传才发现无奈CSDN放不了视频,只支持第三方的,太麻烦了;以后有机会再放视频出来了!
?
|