Révision 65c89524
Ajouté par Julien Enselme il y a plus de 10 ans
scripts_divers/migrer_taches_vers_redmine/constantes.py | ||
---|---|---|
1 |
#Dictionnaire des gens dont on a la clé API |
|
2 |
#id: clé |
|
3 |
SUBMITERS = {'jenselme': '', 'admin': 'a7630a1244be353424cc0f56a49657c3fa9dbcc6'} |
|
4 |
MANAGER_TEST = 'admin' |
|
5 |
MANAGER = 'jenselme' |
|
6 |
|
|
7 |
#les entêtes des requêtes http |
|
8 |
Headers = {'content-type': 'application/json', 'X-Redmine-API-Key': ''} |
|
9 |
Headers_GET = {'X-Redmine-API-Key': ''} |
|
10 |
|
|
11 |
#là où on poste les tâches |
|
12 |
URL_POST_ISSUES = 'https://forge.centrale-marseille.fr/issues' |
|
13 |
#La liste des tâches |
|
14 |
URL_ISSUES_JSON_TEST = 'http://localhost/redmine/projects/test/issues.json' |
|
15 |
URL_ISSUES_JSON = 'https://forge.centrale-marseille.fr/projects/clubdrupal/issues.json' |
|
16 |
#l’url du projet |
|
17 |
URL_PROJECT_TEST = 'http://localhost/redmine/projects/test' |
|
18 |
URL_PROJECT = 'https://forge.centrale-marseille.fr/projects/clubdrupal' |
|
19 |
URL_REDMINE_TEST = 'http://localhost/redmine' |
|
20 |
URL_REDMINE = 'http://forge.centrale-marseille.fr' |
|
21 |
|
|
22 |
#là où sont les tâches |
|
23 |
LIST_TODO = 'http://localhost/portail/liste-tache' |
|
24 |
|
|
25 |
#url de base de l’emplacement du contenu |
|
26 |
BASE_URL = 'http://localhost/portail' |
|
27 |
PROJECT_ID = 30 |
|
28 |
TRACKER_ID = 2 |
|
29 |
|
|
30 |
|
|
31 |
########## dictionnaires de correspondance |
|
32 |
DONE_RATIO = {'En pause': 50, 'À commencer': 0, 'Entamée': 20, 'Bien avancée': 80, 'Terminée (success)': 100, 'Fermée (won\'t fix)': 100} |
|
33 |
PRIORITY = {'5 - Très basse': 3, '4 - Basse': 3, '3 - Moyenne': 4, '2 - Haute': 5,\ |
|
34 |
'1 - Très haute': 6, 'Très basse': 3, 'Basse': 3, 'Moyenne': 4,\ |
|
35 |
'Haute': 5, 'Très haute':6, '0': 3, '1': 3, '2': 4, '3': 5, '4': 6} |
|
36 |
STATUS = {'En cours': 2, 'Fermée': 5, 'Rejetée': 6, 'En pause': 7} |
|
37 |
#NB sur le portail, on a les équivalences suivantes |
|
38 |
#pour le champ version de drupal : 17 : drupal6, 18 : drupal7 |
|
39 |
DRUPAL_VERSION = {'17': 2, '18': 1} |
scripts_divers/migrer_taches_vers_redmine/purge_issues_redmine.py | ||
---|---|---|
1 |
#!/usr/env python3 |
|
2 |
|
|
3 |
'''Ce script supprime TOUTES les tâches redmines du projet indiqué. À utiliser avec prudence. |
|
4 |
''' |
|
5 |
|
|
6 |
import requests #pour faire des requêtes http |
|
7 |
import json |
|
8 |
import sys |
|
9 |
|
|
10 |
import constantes as const |
|
11 |
|
|
12 |
print('Ce script supprime TOUTES les tâches redmines du projet indiqué. À utiliser avec prudence.') |
|
13 |
ok = input('Continuer ? (oui/non) : ') |
|
14 |
|
|
15 |
if ok == 'oui': |
|
16 |
const.Headers_GET['X-Redmine-API-Key'] = const.SUBMITERS[const.MANAGER] |
|
17 |
r = requests.get(const.URL_ISSUES_JSON + '?status_id=*&limit=100', headers=const.Headers_GET) |
|
18 |
|
|
19 |
taches_json = json.loads(r.text)['issues'] |
|
20 |
|
|
21 |
sys.stdout.write('Pourcentage de complétion : 00%\b\b\b') |
|
22 |
sys.stdout.flush() |
|
23 |
compt = 0 |
|
24 |
for tache in taches_json: |
|
25 |
tid = tache['id'] |
|
26 |
r = requests.delete(const.URL_REDMINE + '/issues/{}.json'.format(tid), headers=const.Headers_GET) |
|
27 |
|
|
28 |
#on affiche le pourcentage de complétion |
|
29 |
compt += 1 |
|
30 |
pourcentage = compt/len(taches_json)*100 |
|
31 |
sys.stdout.write(str(pourcentage) + '%\b\b\b') |
|
32 |
sys.stdout.flush() |
|
33 |
else: |
|
34 |
print('Sage décision') |
Formats disponibles : Unified diff
Goto redmine
Les constantes (url, nom des membres,…) sont dans un fichier séparé :
constantes.py
Le script peut supprimer les issues redmine via le script purge_issues_redmine.py. Il a effacé avec succès les
tâches sur mon installation locale.