使用 YouTrackSharp 创建一个新问题



我正在尝试使用 YouTrackSharp 创建一个新问题,回到我的本地跟踪实例中。我可以正常搜索,所以我知道我的连接和凭据正在工作。

根据该示例,我尝试了动态以及实例化 Issue()。

编译失败

dynamic issue = new Issue()
{
    type = "Question",
    summary = model.Summary,
    description = model.Description,
    projectShortName = "CSR",
};

此代码可以编译,但在运行时无法将动态转换为问题参数,但"YouTrackSharp.Issues.IssueManagement.CreateIssue(YouTrackSharp.Issues.Issue)"的最佳重载方法匹配有一些无效参数

dynamic issue = new
{
    type = "Question",
    summary = model.Summary,
    description = model.Description,
    projectShortName = "CSR",
};
YouTrackIssueManager().CreateIssue(issue);

找到我在 github 存储库中找到的关于 Breaking 在 2.0 中更改的答案 - 然后它继续讨论阅读示例规范。

执行:

问题现在为动态类型。要使用它,您需要声明一个 问题为动态。它唯一的固定字段是"Id"(尽管后来 可能会添加其他一些)。原因是现在是 与YouTrack本身的工作方式一致,即每个字段 问题基本上是一个自定义字段。您现在可以拥有任意数量或 小自定义字段随心所欲!这是 2.0 和 不幸的是,与现有代码不兼容。

有效的答案/代码是,使用动态和新 Issue() 的组合(这对我来说是新语法,我现在正在进一步研究)。

dynamic issue = new Issue();
issue.Type = "Question";
issue.Summary = model.Summary;
issue.Description = model.Description;
issue.ProjectShortName = "CSR";
YouTrackIssueManager().CreateIssue(issue);

感谢@hhariri在这个项目上的工作。

相关内容

最新更新