c# - 通过 Redmine .NET API 设置新问题的作者

标签 c# redmine redmine-api

我正在尝试使用 Redmine .NET API 从 ASP.NET MVC 应用程序管理 Redmine .

MVC 应用程序需要允许用户从其 UI 创建和编辑 Issue。 (MVC 应用程序与 Redmine 具有相同的用户。)以下代码添加了一个新问题,但作者始终设置为 API key 的所有者。

using Redmine.Net.Api;
using Redmine.Net.Api.Types;

RedmineManager manager = new RedmineManager(host, apiKey);

Issue newIssue = new Issue();
// Set issue details
newIssue.Author = new IdentifiableName();
var user = manager.GetUsers(UserStatus.STATUS_ACTIVE, loginUserName).FirstOrDefault();
newIssue.Author.Id = user.Id;

manager.CreateObject<Issue>(newIssue);

我想将登录用户设置为问题作者。
有人知道怎么做吗?
谢谢。

最佳答案

Redmine 不允许设置问题的作者字段。它始终设置为创建问题时的当前用户。

最简单的解决方案是使用作者的凭据来创建 API 问题(即他们的用户名/密码或他们的 API key )。

如果那不可能,您可以使用 Redmine 的 User impersonation特征。这允许您将管理员的 API token 用于您的所有请求。通过在您的 POST 请求中将 X-Redmine-Switch-User header 设置为另一个用户的登录名,您可以以另一个用户的身份创建问题。

虽然我没有使用您的 .NET 客户端库的经验,但他们似乎支持此功能,正如他们的 README 中提到的那样。看来您可以使用 ImpersonateUser property 设置登录名RedmineManager 类

关于c# - 通过 Redmine .NET API 设置新问题的作者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33589790/

相关文章:

c# - File.ReadAllLines() 紧接着 File.WriteAllLines() 由于锁定导致异常

mysql - 我如何操作 SQL 中的 VARCHAR 字段以简化从 Bugzilla 到 Redmine 迁移中的路线图集合?

ruby-on-rails - 使用 self.calculate 的未定义错误

javascript - 将插件从 Redmine 1.x 迁移到 2.x - Javascript 不起作用

c# - 为什么径向树布局绘图算法会产生交叉边?

c# - AutoResetEvent 设置后立即复位

javascript - Angular 2 访问 redmine Rest Api,无 'Access-Control-Allow-Origin'

java - Redmine Java API : get Issues based on customField value

docker - 主机Redmine到Docker Redmine错误errno::ECONNRESET: Connection reset by peer

c# - 谁有 C# 示例显示所有者绘制的具有热跟踪效果的 tabcontrol?