C# 如何使用YoutrackSharp设置类型字段
我正试图从一个C应用程序在youtrack中创建一个新问题。到目前为止,一切正常,只是类型字段设置不正确 我尝试将类型设置为整数,因为该字段实际上是一个枚举字段和一个字符串。两者都不会在问题中生成正确的类型,但它始终显示默认类型 使用字符串 var问题=新问题 { 摘要=摘要, 描述=描述 }; issue.SetFieldType,异常; 使用整数枚举访问 var问题=新问题 { 摘要=摘要, 描述=描述 }; issue.SetFieldType,0; 我希望问题得到类型异常,但在这种情况下始终保持默认任务 编辑:C# 如何使用YoutrackSharp设置类型字段,c#,youtrack,youtracksharp,C#,Youtrack,Youtracksharp,我正试图从一个C应用程序在youtrack中创建一个新问题。到目前为止,一切正常,只是类型字段设置不正确 我尝试将类型设置为整数,因为该字段实际上是一个枚举字段和一个字符串。两者都不会在问题中生成正确的类型,但它始终显示默认类型 使用字符串 var问题=新问题 { 摘要=摘要, 描述=描述 }; issue.SetFieldType,异常; 使用整数枚举访问 var问题=新问题 { 摘要=摘要, 描述=描述 }; issue.SetFieldType,0; 我希望问题得到类型异常,但在这种情况下
因此,SetField命令工作正常。它不起作用的原因是YouTrack本身的一个限制,它要求异常问题有第二个字段来填写如何复制。命令本身实际上抛出了一个异常,该异常被调用代码捕获,很可能是您在service.CreateIssue的第一个参数中使用了问题ID而不是项目短名称。请看一下这个例子:
var service = connection.CreateIssuesService();
var newIssue = new Issue
{
Summary = "Test issue",
Description = "Test issue description."
};
newIssue.SetField("Assignee", "root");
newIssue.SetField("Type", "Bug"); // non default value
newIssue.SetField("Due Date", DateTime.UtcNow.AddDays(5));
var result = service.CreateIssue("SP", newIssue).Result;
你好,Daria Vasina,谢谢你的回复。我实际上找到了问题的根源,忘记了更新问题。该项目设置为要求在异常问题中填写第二个字段。这将导致一个异常,该异常被调用代码悄悄捕获。我查看了YoutrackSharp的源代码,发现它只是调用问题上的命令来设置字段。不幸的是,这不允许一次设置多个字段,因此我被迫取消对第二个字段的要求。但现在它起作用了。很高兴听到它!也许您可以在设置类型之前设置第二个字段?或者,第二个字段是有条件的,仅在例外情况下显示?是的,很遗憾,此字段是有条件的。目前,我取消了提供值的要求。我没有尝试使用YouTrack Sharp,但正如我在IssuseService代码中看到的,您可以尝试使用带有类型Exception SecondField SecondValue的ApplyCommand作为命令参数来设置多个字段。