我有一个与Jira rest api一起使用的Jira对象;当我只有一个Jira项目时,因此可以使用一组字段来很好地工作,但是现在我有许多具有不同字段的不同项目,我需要能够动态删除某些项目之前不需要的字段我把它传给了吉拉。我知道每个项目可以有一个自定义对象,但是我宁愿制作并维护一个包含所有可能项目的对象,并在将每个项目不需要的内容传递给api之前删除它们。
默认字段:
[DataContract]
public class FieldsUpdate
{
[DataMember(Name = "issuetype")]
public Issuetype issuetype;
[DataMember(Name = "project")]
public Project project;
[DataMember(Name = "labels")]
public List<object> labels = new List<object>();
[DataMember(Name = "description")]
public string description;
[DataMember(Name = "summary")]
public string summary;
[DataMember(Name = "customfield_10400")]
public object ExpectedDelDate;
}
上部字段级别:
[DataContract]
public class JiraItmAddUpdate
{
[DataMember(Name = "fields")]
public FieldsUpdate fields = new FieldsUpdate();
public JiraItmAddUpdate()
{
FieldsUpdate fields = new FieldsUpdate();
}
}
当前使用示例:
JiraItmAddUpdate JiriUpdateFlds = new JiraItmAddUpdate();
JiriUpdateFlds.fields.summary = "Some Summary";
JiriUpdateFlds.fields.description = "Some Description"
var Request = JiraHttpClient.Client.PutAsJsonAsync(str_IssueKey + "/", JiriUpdateFlds);
这会产生类似
{"fields": {
"summary": "Some Summary",
"description" = "Some Description"
}
}
作为一个例子,有时我需要总结的只是摘要,但它必须保留“ fields”父项。我看过ExpandoObject,但似乎无法让它做我想要的事情,任何人都知道如何在不为每个jira项目构建单独的字段类的情况下发送动态对象?
答案 0 :(得分:0)
使jira类成为基类,并为每个项目继承它。然后,您只需要转换为基类即可。