-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcreate_issues.py
More file actions
75 lines (60 loc) · 1.82 KB
/
create_issues.py
File metadata and controls
75 lines (60 loc) · 1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import pandas as pd
from github.GithubException import GithubException
from github import Github
import os
import numpy as np
g = Github(os.environ["GITHUB_TOKEN"])
repo = g.get_repo(os.environ["REPO_NAME"])
issues = pd.read_csv("checklist-issues.txt", skiprows=1,
names=["issue", "label", "milestone"])
issues = issues.applymap(lambda x: x.strip())
# create milestones
for m in issues['milestone'].unique():
try:
repo.create_milestone(title=m, state='open')
except GithubException as e:
if e.data["errors"][0].get("code", None) != "already_exists":
raise
milestones = repo.get_milestones()
milestone_titles = [m.title for m in milestones]
# create issue labels
labels = issues["label"]
labels = [l.split(" ") for l in labels]
labels = np.unique(np.hstack(labels))
# seaborn colorblind palette
pal = ['0173b2',
'de8f05',
'029e73',
'd55e00',
'cc78bc',
'ca9161',
'fbafe4',
'949494',
'ece133',
'56b4e9']
for i, l in enumerate(labels):
try:
repo.create_label(l, pal[i])
except GithubException as e:
if e.data["errors"][0].get("code", None) != "already_exists":
raise
labels = repo.get_labels()
label_titles = [l.name for l in labels]
# create issues
for i in issues.index:
m = issues.loc[i, "milestone"]
idx = milestone_titles.index(m)
milestone = milestones[idx]
title = issues.loc[i,"issue"]
lname = issues.loc[i,"label"]
lname = lname.split()
label = []
for l in lname:
lidx = label_titles.index(l)
label.append(labels[lidx])
try:
repo.create_issue(title=title, labels=label, milestone=milestone)
except GithubException as e:
print(e)
if e.data["errors"][0].get("code", None) != "already_exists":
raise