C# 设置新版本';作者通过Redmine.NETAPI
我正在尝试使用从ASP.NET MVC应用程序管理Redmine MVC应用程序需要允许用户从其UI创建和编辑C# 设置新版本';作者通过Redmine.NETAPI,c#,redmine,redmine-api,C#,Redmine,Redmine Api,我正在尝试使用从ASP.NET MVC应用程序管理Redmine MVC应用程序需要允许用户从其UI创建和编辑问题。(MVC应用程序拥有与Redmine相同的用户。)以下代码添加了一个新版本,但作者始终被设置为API密钥的所有者 using Redmine.Net.Api; using Redmine.Net.Api.Types; RedmineManager manager = new RedmineManager(host, apiKey); Issue newIssue = new I
问题
。(MVC应用程序拥有与Redmine相同的用户。)以下代码添加了一个新版本,但作者始终被设置为API密钥的所有者
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.Net.Api;
使用Redmine.Net.Api.Types;
RedmineManager=新的RedmineManager(主机,apiKey);
Issue newIssue=新发行();
//设置问题详细信息
newIssue.Author=新的可识别名称();
var user=manager.GetUsers(UserStatus.STATUS_ACTIVE,loginUserName).FirstOrDefault();
newIssue.Author.Id=user.Id;
manager.CreateObject(新发行);
我想将登录用户设置为问题作者。
有人知道怎么做吗?
谢谢。Redmine不允许设置问题的作者字段。在问题创建时,它始终设置为当前用户 最简单的解决方案是使用作者的凭据创建API问题(即用户名/密码或API密钥) 如果不可能,您可以使用Redmine的功能。这允许您对所有请求使用管理员的API令牌。通过将
X-Redmine-Switch-User
标题设置为您的POST
请求中另一个用户的登录名,您可以作为另一个用户创建问题
虽然我没有使用您的.NET客户端库的经验,但他们似乎支持自述文件中提到的此功能。似乎您可以使用
RedmineManager类的设置登录名
多亏了@Holger刚才的回答,我找到了答案
在添加新版本之前,我必须将作者用户的登录设置为RedmineManager.ImpersonateUser
var user = manager.GetUsers(UserStatus.STATUS_ACTIVE, loginUserName).FirstOrDefault();
manager.ImpersonateUser = user.Login;
manager.CreateObject<Issue>(newIssue);
var user=manager.GetUsers(UserStatus.STATUS_ACTIVE,loginUserName).FirstOrDefault();
manager.ImpersonateUser=user.Login;
manager.CreateObject(新发行);
这很有效,作者已正确地更改为模拟用户
在此之后,我必须将null
设置为RedmineManager.ImpersonateUser
以重置它