Импорт данных Excel в Jira с помощью скрипта Python - PullRequest
0 голосов
/ 19 февраля 2019

В настоящее время я застрял с простым сценарием, который читает данные из файла 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() должен вернуть значение этой ячейки?

...