【问题标题】:SOAPpy - create a Jira issue and define a component?SOAPpy - 创建一个 Jira 问题并定义一个组件?
【发布时间】:2013-02-22 14:42:48
【问题描述】:

我不知道如何创建 jira 问题并使用 SOAPpy 定义其组件:

client = so.WSDL.Proxy(cfg_wsld)
auth_token = client.login(cfg_username, cfg_password)
issue_params = dict()
issue_params['project'] = project
issue_params['type'] = issue_type
issue_params['summary'] = summary
issue_params['description'] = summary
newissue = client.createIssue(auth_token, issue_params)

此示例工作正常,但我尝试向其中添加组件 Jira 将返回 missmatchTypeException。

我尝试了各种变体:将数组、字符串、整数传递给它,但它不会选择其中任何一个。

大多数尝试(同时传递字符串、整数、数组)都会导致 TypeMissmatch,这会导致 Jira 内部出现 NullPointerException:

issue_params['components'] = {u'Разное': {'id': '11143', 'name': u'Разное'}}

我知道我想使用的问题类型的确切 ID,但如何正确传递它?当我检索这种类型的问题时,组件返回为 SOAPpy.Types.typedArrayType() 但这仍然失败:

issue_params['components'] = so.Types.typedArrayType(data={'id': '11143', 'name': u'Разное'})
newissue = client.createIssue(auth_token, issue_params)

(<class 'SOAPpy.Errors.Error'>, <Error : Data must be a sequence>, None)

【问题讨论】:

    标签: jira soappy jira-rest-java-api


    【解决方案1】:
    issue_params['components'] = so.Types.typedArrayType(data=[{'id': '11143', 'name': u'Разное'},])
    

    这成功了——数据需要是一个数组。

    【讨论】: