TFS REST API:如何代表其他人发出请求"?

时间:2016-10-04 09:05:07

标签: rest tfs azure-devops tfs2015

我希望我的VSTS扩展程序(安装在本地TFS2015.3上)能够代表管理员/服务帐户执行特定请求("代表其他人发出请求")

背景:我操作(WorkItem)处理模板,特别是我的扩展打字稿中的GLOBALWORKFLOW(仅在团队项目级别),但Web Access中扩展的用户不是项目管理员,所以他不允许使用函数updateWorkItemTypeDefinition() - 非项目管理员得到"访问被拒绝"即使我给了该自定义组每个可用权限("编辑项目级信息"项目级GLOBALWORKFLOWs的权限?仍然不适用于自定义组,仅适用于项目管理员帐户)。 / p>

我似乎被迫冒充项目管理员/服务帐户,允许更改项目中的全局工作流程

如何模拟扩展打字稿代码本地TFS和REST(1.不是.NET和2.而不更改为基本身份验证,已经在其他地方看到了该解决方案 - 但我非常确定我无法请求我组织的变化)

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以通过vsts-node-api模拟用户。

模仿用户有很多功能,例如Basic,NTLM,PWA(VSTS)等......,你可以检查这些功能here

public partial class LastPageView : UserControl
{
    public LastPageView()
    {
        InitializeComponent();
        this.Loaded += (sender, args) =>
        {
            DialogParticipation.SetRegister(this, this.DataContext);
            ((IWizardPageLoadableViewModel) this.DataContext).LoadedCommand.Execute(this);
        };
        // if using DialogParticipation on Windows which open / close frequently you will get a
        // memory leak unless you unregister.  The easiest way to do this is in your Closing/ Unloaded
        // event, as so:
        //
        // DialogParticipation.SetRegister(this, null);
        this.Unloaded += (sender, args) => { DialogParticipation.SetRegister(this, null); };
    }
}

There是您可以参考的示例。