Have the following method to pull data from a csv to write create a Jira issue. I first create issue with Summary and Description. I then want to update the issue to include the Feature ID field(type is label). I also want to update the Labels field with "tags" column from the csv.(importing from Rally csv into Jira)
Does featureid need to be converted to a list, then passed into the update?
for row in df2.iterrows():
summ = str(df2.loc[row[0], 'Summary'])
desc = str(df2.loc[row[0], 'Description'])
#These have to be updated
featureid = str(df2.loc[row[0], 'Feature ID'])# customfield_10007, type is label
#owner = str(df2.loc[row[0], 'Assignee']) # need to update usernames or have a lookup
tags = str(df2.loc[row[0], 'Labels']) # Needs to return an array
try:
jira_options = {'server': jira_url}
jira = JIRA(options=jira_options, basic_auth=(jira_user, jira_password))
log.info("Connecting to JIRA: %s" % jira_url)
#customfield_10007=featureid, assignee=owner, description=desc, labels=tags,
issue = jira.create_issue(project={'key': jira_project_key},
summary = summ,
description = desc,
issuetype = {'name': jira_issue_type})
print issue ,'was created.'
issue.update(customfield_10007={'Feature ID':featureid}) #need to convert to list before I can update?
except JIRAError, e:
log.error("Failed to connect to JIRA: %s" % e)
print "Failed to connect to JIRA ",e
return None
This worked. Thanks for the help everyone.
issue.update(fields={"customfield_10007":featureid.split()})
issue.update(fields={"labels":tags.split(';')})
Try this instead:
issue.update(fields={"customfield_10007":featureid})
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If I could, I would, but it might also be helpful for us if you surrounded your code in using the code macro (click the <> button when you edit your answer).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
def getdatafromcsv():
mycols = ['Formatted ID', 'Name', 'Owner', 'Description', 'Tags']
df = pd.read_csv(mycsv)
df1 = df[mycols]
df2 = df1.rename(columns={'Name': 'Summary',
'Formatted ID': 'Feature ID',
'Owner': 'Assignee',
'Description': 'Description',
'Tags': 'Labels'})
for row in df2.iterrows():
summ = str(df2.loc[row[0], 'Summary'])
desc = str(df2.loc[row[0], 'Description'])
#These have to be updated
featureid = str(df2.loc[row[0], 'Feature ID'])# customfield_10007, type is label
owner = str(df2.loc[row[0], 'Assignee']) # need to update usernames or have a lookup
tags = str(df2.loc[row[0], 'Labels']) # Needs to return an array
try:
jira_options = {'server': jira_url}
jira = JIRA(options=jira_options, basic_auth=(jira_user, jira_password))
log.info("Connecting to JIRA: %s" % jira_url)
#customfield_10007=featureid, assignee=owner, description=desc, labels=tags,
issue = jira.create_issue(project={'key': jira_project_key},
summary = summ,
description = desc,
issuetype = {'name': jira_issue_type})
print issue ,'was created.'
#getissue = jira.issue('issue')
issue.update(fields={"customfield_10007":featureid})
except JIRAError, e:
log.error("Failed to connect to JIRA: %s" % e)
print "Failed to connect to JIRA ",e
return None
outrows = len(df2)
log.info(outrows, ' Features written to JIRA.')
Output from above:
text: data was not an array
response headers = {'X-AUSERNAME': 'jira_user', 'X-AREQUESTID': '1248x4728x1', 'X-Content-Type-Options': 'nosniff', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', 'X-Seraph-LoginReason': 'OK', 'Vary': 'User-Agent', 'X-ASESSIONID': '1lpzagg', 'Connection': 'close', 'Cache-Control': 'no-cache, no-store, no-transform', 'Date': 'Tue, 11 Apr 2017 01:48:58 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'X-ASEN': 'SEN-L9516098'}
response text = {"errorMessages":[],"errors":{"customfield_10007":"data was not an array"}}
Process finished with exit code 0Not sure how to get the output into a list. I tried mylist = featureid.split() to get content into a list but that didn't work either.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.