【问题标题】:Updating basic fields with Jira SOAP API使用 Jira SOAP API 更新基本字段
【发布时间】:2012-07-06 18:38:50
【问题描述】:

我正在使用 Jira SOAP API,我已经设法从问题中读取并创建新问题。但是,我无法更新已存在问题的字段。我对字段进行了更改,但在程序停止运行后它们不会持续存在。

我知道要使用的方法可能是 updateIssue(...) 方法,但我无法尝试使用它,因为我不知道为最后一个参数传递什么。我查看了文档,但不明白 RemoteFieldValue[] 是什么。

谁能告诉我如何创建一个 RemoteFieldValue[],我可以将它传递给 updateIssue 方法以更新摘要、描述等基本字段?

谢谢!

【问题讨论】:

  • 顺便说一下,我已经看到了有关如何更新自定义字段的代码示例。我认为如果我知道非自定义字段的字段键是什么,我的问题就会得到解决。我知道对于自定义字段,您设置键然后可以使用它们。但是如何找到标准字段的键值呢?
  • 您使用什么语言编写 SOAP 请求?
  • 我在 Visual Studio 中使用 c#。

标签: c# api soap jira


【解决方案1】:

要使用 Jira SOAP 更新基本字段,您需要使用 updateIssue()(正如您所怀疑的那样)。

updateIssue(java.lang.String token, java.lang.String issueKey, RemoteFieldValue[] actionParams) 

RemoteFieldValue 构造函数有两个参数:fieldID 和 newFieldValues

public RemoteFieldValue(java.lang.String fieldID,
                        java.lang.String[] newFieldValues)

其中标准字段的 fieldID 是字段的名称(“摘要”、“描述”等)

这是一个例子:

List<RemoteFieldValue> actionParams = new List<RemoteFieldValue>();

RemoteFieldValue description = new RemoteFieldValue { 
    id = "description", 
    values = new string[] { "here is new description" } };

actionParams.Add(description);

jiraSoapService.updateIssue(token, issueKey, actionParams.ToArray());

【讨论】:

  • 非常感谢 - 它没有进一步的问题。如果您愿意,您能告诉我如何使用 progressWorkFlowAction 方法更改问题的状态吗?我觉得代码一定是相似的,但即使看到这个,我也无法让它工作。 progressWorkFlowAction 方法的 actionParams 与 updateIssue 方法不一样吗?那么如果我只想改变状态而不是别的,我不能传递 null 吗?再次感谢上述帮助,如果您认为我上面的状态问题应该是一个完全不同的问题,请告诉我,我会创建一个新问题。
  • 状态转换可能允许编辑某些字段(取决于您拥有的 Jira 工作流程)。其中一些字段可能是必需的。因此,actionParams in progressWorkFlowAction 方法是您在手动转换 Jira 问题时可以从屏幕上编辑的那些字段。如果过渡没有必填字段,则可以将 null 作为 actionParams 传递。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多