由于增加一台新的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放不了视频,只支持第三方的,太麻烦了;以后有机会再放视频出来了!

 

posted on 2022-07-05 18:11  我在全球村  阅读(57)  评论(0编辑  收藏  举报