Mantis Bug Tracker connecta molt bé, via LDAP, amb la base de dades d'usuaris Active Directory d'una xarxa informàtica basada en Microsoft Windows.
Per tal de que tots eixos usuaris puguen afegir tickets, cal primer donar-los d'alta a la base de dades Mantis. També, en el nostre cas, els hem donat d'alta a 3 projectes concrets.
Finalment, els usuaris poden accedir al Mantis amb el seu usuari de la xarxa Microsoft i la seua contrasenya de sempre, i poden afegir incidències còmodament als 3 projectes, i sempre rebran les notificacions al seu correu oficial.
Ací tenim un codi que m'he fet dels scripts que creen els usuaris:
#!/usr/bin/python
# -*- encoding: utf-8 -*-
# Responsables: SEPAM
#
# Los módulos a importar
import MySQLdb
# Configuracion basica de la base de datos de Mantis Bug Tracker
SERVIDOR = 'xxxxx.dipcas.es'
USUARI = 'xxxxx'
CONTRASENYA = 'xxxxx'
BASE_DE_DADES = 'xxxxx'
# Abrimos el fichero 'usuaris.txt' e insertamos todos los usuarios en Mantis
f=open("usuaris.txt","r")
contador = 0
for i in f:
print i
contador=contador+1
# Creamos el usuario en la base de datos (tenim que ficar un numero distint al camp 'cookie_string', aleshores fem el contador al final.
#sql1="INSERT INTO mantis_user_table (username, enabled, protected, access_level, cookie_string, date_created) VALUES ('" + i + "', '1', '0', '25', '3c" + i + "', '1425559817')"
db=MySQLdb.connect(host=SERVIDOR,user=USUARI, port=3306, passwd=CONTRASENYA,db=BASE_DE_DADES)
cursor=db.cursor()
sql="INSERT INTO mantis_user_table (username, enabled, protected, access_level, cookie_string, date_created) VALUES ('" + i + "', '1', '0', '25', '3c" + i + "', '1425559817')"
cursor.execute(sql)
resultado=cursor.fetchall()
# Mostrem el número total d'usuaris que hem insertat a la taula usuaris
print str(contador) + ' total de usuarios creados'
I aquest l'script que els afegix als 3 projectes que volem:
#!/usr/bin/python
# -*- encoding: utf-8 -*-
# Responsables: SEPAM
#
#
# El script crea los usuarios listados en el fichero 'usuaris.txt' y
# los da de alta en las 3 asistencias principales de Mantis.
# En la asistencia PWM los daremos de alta, por tratarse de un proyecto
# concreto con unos responsables técnicos específicos:
#
# ID número 13 ---> Asistencia Informatica
# ID número 14 ---> Asistencia Economica
# ID número 15 ---> Asistencia Juridica
# ID número 39 ---> Asistencia PWM <-- lo haremos manualmente en Mantis.
#
# - Listado de usuarios: mantis_user_table
# - Listado de proyectos: mantis_project_table
# - Relación de usuarios y proyectos: mantis_project_user_list_table
#
# Los módulos a importar
import MySQLdb
# Configuracion basica de la base de datos de Mantis Bug Tracker
SERVIDOR = 'xxxxx.dipcas.es'
USUARI = 'xxxxx'
CONTRASENYA = 'xxxxx'
BASE_DE_DADES = 'xxxxx'
# Añadimos todos los usuarios en la Asistencia Informática de Mantis
for i in range(163,683):
db=MySQLdb.connect(host=SERVIDOR,user=USUARI, port=3306, passwd=CONTRASENYA,db=BASE_DE_DADES)
cursor=db.cursor()
sql="INSERT INTO mantis_project_user_list_table (project_id, user_id, access_level) VALUES (13, " + str(i) + ", 25)"
cursor.execute(sql)
resultado=cursor.fetchall()
# Añadimos todos los usuarios en la Asistencia Economica de Mantis
for i in range(163,683):
db=MySQLdb.connect(host=SERVIDOR,user=USUARI, port=3306, passwd=CONTRASENYA,db=BASE_DE_DADES)
cursor=db.cursor()
sql="INSERT INTO mantis_project_user_list_table (project_id, user_id, access_level) VALUES (14, " + str(i) + ", 25)"
cursor.execute(sql)
resultado=cursor.fetchall()
# Añadimos todos los usuarios en la Asistencia Jurídica de Mantis
for i in range(163,683):
db=MySQLdb.connect(host=SERVIDOR,user=USUARI, port=3306, passwd=CONTRASENYA,db=BASE_DE_DADES)
cursor=db.cursor()
sql="INSERT INTO mantis_project_user_list_table (project_id, user_id, access_level) VALUES (15, " + str(i) + ", 25)"
cursor.execute(sql)
resultado=cursor.fetchall()