hello!python!

jira python操作,自动创建问题

jira web api地址
http://jira.**.com/plugins/servlet/restbrowser

 


http://jira.**.com/rest/api/2/issue/createmeta?projectKeys=PT&issuetypeNames=Bug&expand=projects.issuetypes.fields
1、查看project创建bug提交的参数情况,true说明是必填

2、对于type是array的字段,提交时候报错“data was not an array”,困扰许久,FQ后找到答案:

 写法: 'customfield_10449': [{'name': "1.0.0"}]

https://community.atlassian.com/t5/Answers-Developer-Questions/How-to-add-component-while-creating-an-issue-via-JIRA-REST-API/qaq-p/493660

 

 

 

 简单版


# !/usr/bin/python
# -*- coding:utf-8 -*-
from jira import JIRA
import sys, getopt, redis, os


class JiraTool:
    def __init__(self):
        self.server = 'http://jira.**.com'
        self.basic_auth = ('username', 'passwd#')
        self.jiraClinet = None

    @property
    def login(self):
        self.jiraClinet = JIRA(server=self.server, basic_auth=self.basic_auth)
        # issue = self.jiraClinet.issue("PT-358")
        # self.jiraClinet.add_comment(issue, "test")

        if self.jiraClinet != None:
            return True
        else:
            return False

    def findIssueById(self, issueId):
        if issueId:
            if self.jiraClinet == None:
                self.login
            return self.jiraClinet.issue(issueId)
        else:
            return 'Please input your issueId'

    def createIssue(self, summary, description, id='3'):

        issue_dict = {

            'project': {'key': "project"},
            'issuetype': {'name': 'Bug'},
            'summary': summary,
            'description': description,
            'priority': {'id': id},
            # 'customfield_10449': array('1.0.0')
            'customfield_10449': [{'name': "1.0.0"}]
        }
        if self.jiraClinet == None:
            self.login
        return self.jiraClinet.create_issue(issue_dict)


if __name__ == '__main__':
    jiraTool = JiraTool()
    jiraTool.login
    jiraTool.createIssue("测试自动提交bug","bug描述")

 

posted @ 2018-03-08 16:44  你坚持了吗  阅读(4457)  评论(1编辑  收藏  举报
hello!python!