В настоящее время я застрял с простым сценарием, который читает данные из файла Excel, а затем превращает эти данные в задачи в Jira.
from openpyxl import load_workbook
from jira import JIRA
print("Imports Work")
jira = JIRA('http://jira-mycompany:8080/', basic_auth=('ZippertjeZappertje',
'Passwordhiddenforthepurpose of this'))
wb = load_workbook(filename = 'ImportTasksExcel.xlsx', read_only = True)
ws = wb['Sheet1']
def promp():
print("Press Any Key To Continue...")
input()
def getCellValue(worksheet, r, c):
if(worksheet.cell(row=r, column=c).value == None):
print("Error: Empty Cell. Row " + str(r) + " Col " + str(c))
promp()
return worksheet.cell(row=r, column=c).value
print("Worksheet Loaded")
key = ''
parent = ''
child = ''
prename = ''
time = ''
crew = ''
team = ''
importance = ''
person = ''
desc = ''
i = 0
print("Variables Initialised")
for i in range (2, ws.max_row+1):
pro = getCellValue(ws, i, 1)
key = ws.cell(row=i, column=2).value
parent_issue = jira.issue(key)
parent = str(parent_issue.fields.summary)
type = getCellValue(ws, i, 3)
type = ws.cell(row=i, column=3).value
prename = ws.cell(row=i, column=4).value
taskname = ws.cell(row=i, column=5).value
child = prename + taskname
prio = ws.cell(row=i, column=6).value
imp = ws.cell(row=i, column=7).value
confidence = getCellValue(ws, i, 8)
team = getCellValue(ws, i, 9)
person = ws.cell(row=i, column=10).value
time = ws.cell(row=i, column=11).value
desc = ws.cell(row=i, column=12).value
sum = prename + " - " + taskname
report = ws.cell(row=i, column=13).value
print (sum)
issue = jira.create_issue(project=pro, summary=sum, description=desc,
issuetype=type, assignee={'name': person}, reporter={'name': report},
timetracking = {"originalEstimate": time,"remainingEstimate": time},
customfield_11200 = { "value": team }, customfield_12306 = { "value":
confidence }, customfield_11100 = { "value": imp }, priority = {'name':
prio}
print("Successfuly Created: "+ str(issue))
print('Linking Child: ' + str(issue) + '\t to Parent: ' + key)
jira.create_issue_link('Broken into', key, str(issue))
print("SUCCESS\n")
print("\n\nDONE\t Total New Issues Created and Linked: " + str(i-1))
input("prompt: ")
raw_input("Press Enter to Continue: ")
Код возвращает следующую ошибку TypeError:
строка 39, в pro = getCellValue (ws, i, 1)
строка 16, в getCellValue if (рабочий лист).cell (row = r, column = c) .value == Нет): TypeError: необязательный метод cell () должен вызываться с экземпляром Worksheet в качестве первого аргумента (вместо этого ничего не получается)
Какой яне совсем понимаю, так как "рабочий лист" - это параметр, который я объявил для функции getCellValue
?Метод cell()
обращается к ячейке в строке r
и столбце c
, а затем метод value()
должен вернуть значение этой ячейки?