Python怎么操作
jira作为bug管理工具,在互联网公司越来越流行,如果能用python来操作jira,则可以和很多自动化测试工具结合,提高效率期货怎么操作。
下面和大家分享下实际工作中用的python脚本
1.python使用2.7,下载python插件jira 1.0.7并安装期货怎么操作,
/
2.调试环境使用eclipse+pydev
3.实际工作代码
#encoding:utf-8
import re, sys, os, datetime, ,time
from jira import JIRA
cur_date=time.strftime('%Y%m%d',time.localtime(time.time()))
#jira服务器、登录用户名、登录密码
jira_server='*******'
jira_user='******'
jira_pwd='******'
#连接jira服务器并检查耗时
print "before connect jira"+time.strftime('%Y-%m-%d %H:%M:%S')
myJira = JIRA(jira_server,basic_auth=(jira_user, jira_pwd))
print "after connect jira"+time.strftime('%Y-%m-%d %H:%M:%S')
#在jira上创建bug期货怎么操作。
#因为各公司jira服务器字段值不一样,所以需要根据各自情况修改期货怎么操作。下面是我这边使用的函数,涉及到公司的部分用*代替
def create_a_issue(device, summary, description):
issue_dict = {
展开全文
'project': {'id': 12742},
'summary': summary,
'description': description,
'issuetype': {'name': 'Bug'},
'versions':[{'name':*******}],
"customfield_10984":[{'name':*******}],
"components":[{'name':'******'}],
"customfield_12109":cur_date,
"customfield_10111":{'id':"10112"},#重现几率
#"customfield_12701":[{'value':"******"}],#型号
'assignee': {'name':'******'}
return myJira.create_issue(fields=issue_dict)
def create_b_issue(device, summary, description):
issue_dict = {
'project': {'id': 12732},
'summary': summary,
'description': description,
'issuetype': {'name': 'Bug'},
'versions':[{'name':'******'}],
"customfield_10984":[{'name':'******'}],#出现版本
"components":[{'name':'******'}],
"customfield_12109":cur_date,
"customfield_12107":[{'id':'12302'}],
'customfield_12402':[{'id':'12313'}],
"customfield_10111":{'id':"10112"},#重现几率10112
'assignee': {'name': '******'},
return myJira.create_issue(fields=issue_dict)
def createIssue(device, summary, description):
if device=='a':
return create_a_issue(device, summary, description)
elif cmp(device,'b')==0:
return create_b_issue(device, summary, description)
#搜索包含特定文字的bug
def searchIssue(device, summary):
jql = 'summary ~ \"%s\" OR text ~ \"%s\"'%(summary,summary)
#print 'jql:', jql
return myJira.search_issues(jql)
#按照bug id搜索
def searchIssueByID(aID):
return myJira.issue(aID)
#添加附件
def attachFile(issueKey, filePath):
issue = myJira.issue(issueKey)
myJira.add_attachment(issue, filePath, os.path.split(filePath)[1])
#添加标签
def addLabels(issueKey, aLabels):
issue = myJira.issue(issueKey)
issue.fields.labels.append('******')
issue.fields.labels.append(u'******')
issue.update(fields = { "labels":issue.fields.labels} )
#添加备注
def addComment(issueKey, commentBody):
myJira.add_comment(issueKey, commentBody)








评论