|
# Redmineの登録承認待ちユーザIDの削除
|
|
|
|
# redmine_url='https://対象RedmineサーバURL'
|
|
# redmine_key='システム管理権限ユーザのAPIKEY'
|
|
# del_csvfilename="登録承認待ユーザIDのCSVファイル"
|
|
|
|
redmine_url='https://対象RedmineサーバURL'
|
|
redmine_key='システム管理権限ユーザのAPIKEY'
|
|
del_csvfilename="登録承認待ユーザIDのCSVファイルフルパス"
|
|
|
|
from redminelib import Redmine
|
|
from redminelib.exceptions import ResourceNotFoundError
|
|
from redminelib.exceptions import ServerError
|
|
import csv
|
|
|
|
def redmine_delete_id_csv(redmine,del_csvfilename):
|
|
|
|
delete_id_count=0
|
|
csv_file = open(del_csvfilename, "r", encoding="ms932", errors="", newline="" )
|
|
f = csv.reader(csv_file, delimiter=",", doublequote=False, lineterminator="\r\n", quotechar='"', skipinitialspace=True)
|
|
|
|
header = next(f)
|
|
for row in f:
|
|
if delete_by_loginid(redmine,row[0]):
|
|
print('Deleted: ' + row[0])
|
|
delete_id_count=delete_id_count+1
|
|
else:
|
|
print('Delete Error: ' + row[0])
|
|
return delete_id_count
|
|
|
|
def delete_by_loginid(redmine,del_loginid):
|
|
|
|
ret=False
|
|
del_users = redmine.user.filter(name=del_loginid, status=2)
|
|
|
|
if len(del_users)==1:
|
|
ret=del_users[0].delete()
|
|
|
|
return ret
|
|
|
|
|
|
def redmine_registered_id_list(redmine):
|
|
|
|
registered_users = redmine.user.filter(status=2)
|
|
|
|
if len(registered_users)==0:
|
|
print('登録待ちIDはありません')
|
|
else:
|
|
print('下記の登録待ちIDがあります')
|
|
for user in registered_users:
|
|
print(user.login)
|
|
|
|
|
|
redmine = Redmine(redmine_url , key=redmine_key)
|
|
delete_count=redmine_delete_id_csv(redmine,del_csvfilename)
|
|
print('Deleted Id count= ' + str(delete_count))
|
|
redmine_registered_id_list(redmine)
|