Jira RPC / SOAP GetCustomFields()只能由管理员使用?

时间:2009-10-23 09:56:21

标签: soap rpc jira

我目前正在C#中使用Jira SOAP接口(我想这里使用的语言并不是非常重要)。

基本上,我正在创建一个包含soap服务的一些功能的API和一个Winform,以便我们的Devs可以在我们的应用程序出现问题时以编程方式添加错误。

作为其中的一部分,我需要知道Jira中使用的自定义字段ID,而不是硬编码它们(因为它们仍然容易偶尔发生变化)我在jira中使用了GetCustomFields()方法-rpc api然后对其进行过滤,以便所有开发人员需要知道的是该字段的名称,然后自动为其填充ID。

这一切都运行正常,但有一个非常重要的附带条件:您以具有管理权限的用户身份登录SOAP / RPC服务。

Jira文档指出soap / rpc服务遵循通常的工作流程和安全方案,但是我无法在任何地方找到任何可能会在枚举自定义字段时删除此限制的内容(而且在任何情况下您都希望如此有人必须要成为管理员才能获得此访问权限,尤其是因为自定义字段ID倾向于在Jira的HTML源代码中超出我的范围。

有人知道我是否错过了某处的设置?或者,如果有一些解决方法,那么缺少自定义字段ID的硬编码?

或者这是否需要深入研究Jira的RPC插件并修改它的源代码以便为我提供我需要的功能?

干杯

为了谷歌/后代而编辑

哇,一直以来,看起来Atlassian仍然没有改变这种行为。

2 个答案:

答案 0 :(得分:1)

通过创建以管理用户身份登录的自定义词典来解决此问题,抓取自定义字段然后注销。不理想,但它应该工作'直到atlassian改变事物

答案 1 :(得分:1)

您没有遗漏任何内容 - 无法通过标准SOAP API获取自定义字段。

在JIRA Client中,我们通过两种方式了解自定义字段:

  1. 我们通过问题导航器的RSS视图或通过特定问题的XML表示来下载问题。如果为问题设置了自定义字段,则XML将具有其id,类和值(值)。

  2. 我们会不时检查IssueNavigator搜索页面的内容 - 寻找自定义字段的搜索者。屏幕抓取HTML不仅为我们提供了自定义字段的ID,还为枚举字段提供了可能的值。

  3. 当然,这很麻烦,而且可能会出错,所以一个好的API会好很多。

    在您的情况下,我可以建议两种解决方案:

    1. 创建您自己的SOAP(或REST)远程API插件,它将为您提供标准API中遗漏的信息。由于您似乎可以控制您的JIRA,因此您可以在那里安装任何东西。

    2. 屏幕截取项目的“新Bug”页面以及您需要提交的问题类型。您将获得所有信息 - 字段,选项,默认值,哪个字段是必需的。