通过rest api c#在jira中设置自定义单选按钮字段
Set custom radio button field in jira through rest api c#
我正在尝试设置具有 3 个可能选项的自定义单选按钮字段的值:是、否或 none。我正在使用 Dapplo c# Jira SDK。
我已经尝试了从使用 "name" 到 "value" 再到 "id" 的所有方法,但似乎没有任何效果,我总是回来 "Could not find valid 'id' or 'value' in the Parent Option object"。
请注意,我想使用选项集值的 ID 来设置字段值,而不是文本值(如是或否),因为它可能会随时间变化。
这些是我的一些尝试:
string jsonString = @"{""id"": ""11684""}";
var myJSON = JsonConvert.SerializeObject(jsonString);
issueToCreate.Fields.CustomFields.Add("customfield_12093", jsonString); //When I enter the 'jsonString' variable directly I get the same error.
有人知道吗?这似乎比它应该的要难得多..
在尝试了一切之后,以下终于奏效了:
var optionSetObject = new { id = "11681" };
issueToCreate.Fields.CustomFields.Add("customfield_12093", optionSetObject);
我原以为 C# 匿名对象无法正确序列化,但显然可以。确保 "id" 值是一个字符串!如果您将其作为 int 输入,Jira 出于某种原因将无法识别它。
你可以尝试:(比如使用 JavaScriptSerializer 来序列化一个匿名对象):
var optionSetObject = new { id = "11681" };
var serializer = new JavaScriptSerializer();
var output = serializer.Serialize(optionSetObject);
issueToCreate.Fields.CustomFields.Add("customfield_12093", output);
我正在尝试设置具有 3 个可能选项的自定义单选按钮字段的值:是、否或 none。我正在使用 Dapplo c# Jira SDK。
我已经尝试了从使用 "name" 到 "value" 再到 "id" 的所有方法,但似乎没有任何效果,我总是回来 "Could not find valid 'id' or 'value' in the Parent Option object"。 请注意,我想使用选项集值的 ID 来设置字段值,而不是文本值(如是或否),因为它可能会随时间变化。
这些是我的一些尝试:
string jsonString = @"{""id"": ""11684""}";
var myJSON = JsonConvert.SerializeObject(jsonString);
issueToCreate.Fields.CustomFields.Add("customfield_12093", jsonString); //When I enter the 'jsonString' variable directly I get the same error.
有人知道吗?这似乎比它应该的要难得多..
在尝试了一切之后,以下终于奏效了:
var optionSetObject = new { id = "11681" };
issueToCreate.Fields.CustomFields.Add("customfield_12093", optionSetObject);
我原以为 C# 匿名对象无法正确序列化,但显然可以。确保 "id" 值是一个字符串!如果您将其作为 int 输入,Jira 出于某种原因将无法识别它。
你可以尝试:(比如使用 JavaScriptSerializer 来序列化一个匿名对象):
var optionSetObject = new { id = "11681" };
var serializer = new JavaScriptSerializer();
var output = serializer.Serialize(optionSetObject);
issueToCreate.Fields.CustomFields.Add("customfield_12093", output);