前段时间搭建了一个jira平台作为公司内部工单管理,首先在本部门试行了一段时间后,感觉挺好用的,征得领导同意,准备在全公司推行这个工单系统。

推行的第一步当然是为公司所有员工建立jira账号,忽然发现,要手动建立几百人的账号,确实很麻烦,很耗时。建立账号过程如下:

python批量申请QQ python自动批量注册_python


python批量申请QQ python自动批量注册_jira_02


这几百个人的账号一路创建下来,估计半天时间就没了。

于是上网找了一种利用python脚本自动创建jira用户的方法,简直不要太方便了。

一起来看看操作过程吧。

实验环境:python3.9.1+jira7.12.3

实现原理:利用python调用浏览器打开jira页面,在页面里填上jira平台管理员账号,然后进入jira用户管理界面,调用事先在excel表里面设置好的账号信息(需要把excel文件另存为csv文件方便python程序调用)填写到创建用户界面对应的表单中,再提交表单完成创建。如此反复循环,直到把所有的账户创建完成。

一、下载安装python程序

上python官网https://www.python.org/getit/下载最新版的python安装程序。(建议大家下载软件尽量去官网下载,不要在第三方网站下载,现在很多第三方平台提供的软件都进行了捆绑,安装后会捆绑安装很多其他软件,而且不停的跳弹窗广告,很烦人)。

python批量申请QQ python自动批量注册_jira_03


下载完成后进行安装,安装过程很简单,跟QQ维修安装一样方便,这里就不赘述了。

二、python程序相关环境配置

1 安装Selenium模块:在DOS命令窗口输入pip install Selenium

如果提示没有pip命令,请参照下文进行环境变量设置

https://jingyan.baidu.com/article/3c343ff7a2ee430d377963f7.html 2 下载浏览器驱动,Selenium3.x调用浏览器必须有一个webdriver驱动文件(根据自己电脑上安装的浏览器来选择对应版本下载)

Chrome驱动文件下载:点击下载chromedrivehttps://chromedriver.storage.googleapis.com/index.html?path=2.35/

Firefox驱动文件下载: 点击下载geckodriverhttps://github.com/mozilla/geckodriver/releases

下载之后,解压到任意目录(路径不要有中文,因为后续需要在程序中调用这个路径文件,中文可能无法识别)

3 准备csv文件,先创建一个excel文件,将创建jira用户所需要的邮箱、用户名、全名、密码等信息录好,再另存为csv格式文件即可。需要注意的是excel文件名必须英文比如userdata,文件内容第一行开始就是内容,不需要搞标题行,如下所示:python批量申请QQ python自动批量注册_python批量申请QQ_04

4 运行python程序

双击桌面python批量申请QQ python自动批量注册_chrome_05 图标,进入python程序编辑器,点击File-New File,将下面的代码复制进去,点击Run运行程序,即可看到程序打开jira页面自动创建用户了。

```python
"""自动创建Jira的员工账号"""

from selenium import webdriver

from time import  sleep

import csv

driver = webdriver.Chrome(r'D:\chromedirver\chromedriver.exe')#导入谷歌浏览器驱动文件,路径请修改为自己的存放路径

driver.get("http://192.168.31.150:8080/login.jsp") #jira的网址,请修改为自己的jira登陆页面地址

data_set = r'D:\jirauser\userdata.csv'#账号数据文件,路径请修改为自己的存放路径

sleep(5)

输入jira web端登陆的管理员用户名和密码,记得替换成自己的。

driver.find_element_by_id('login-form-username').send_keys('用户名')

driver.find_element_by_id('login-form-password').send_keys('密码')

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('密码')#这里也是管理员密码,jira创建用户需要再次确认管理员身份

driver.find_element_by_id('login-form-submit').click()

driver.implicitly_wait(3)

利用csv模块把csv文件中的所有用户的信息都读取到要给列表中 # 每个用户的信息是列表中一个元素,该元素也是一个拥有完整单个用户信息的列表

reader = csv.reader(open(data_set,encoding='gbk'))

rows = [row for row in reader]

#print(rows)

for i in rows:

    print(i)

    driver.implicitly_wait(1)

    driver.find_element_by_id('create_user').click()

    driver.find_element_by_id('user-create-username').send_keys(i[0])

    driver.find_element_by_id('password').send_keys(i[1])

    driver.find_element_by_id('user-create-fullname').send_keys(i[2])

    driver.find_element_by_id('user-create-email').send_keys(i[3])

    driver.find_element_by_id('user-create-submit').click()

    sleep(10)

driver.close()