2016-10-04 7 views
3

管理者/サービスアカウントに代わって特定の要求を行うことができるようにVSTS拡張機能(オンデマンドのTFS2015.3がインストールされている)を使用したい(「他人に代わってリクエストを作成する」)TFS REST API:「他人に代わってリクエストを行う」方法

背景: WorkItem)拡張テンプレートスクリプト内のプロセステンプレート、特にGLOBALWORKFLOW(チームプロジェクトレベルのみ)ですが、Web Accessの拡張機能のユーザーはプロジェクト管理者ではないため、関数updateWorkItemTypeDefinition()を使用することはできません(プロジェクトレベルのGLOBALWORKFLOWの「プロジェクトレベルの情報を編集する」権限はまだありませんでしたか?プロジェクト管理アカウントのみのカスタムグループではまだ機能しませんでした) - プロジェクト管理者は、 。私がプロジェクト

でグローバルワークフローを変更することが許可されているプロジェクト管理/サービスアカウントを偽装することを余儀なくさだそうです

はどのようにして、拡張typescriptですが、オンプレムTFSコードおよびREST(1で偽装ありません。 .NETおよび2.基本認証に変更せずに、すでにどこかにその解決策を見ていない - あなたの助け

+0

編集:私がon-prem(2015.3)で作業しているので、PATは解決策ではありません –

+0

プロセステンプレートレベルには、ユーザーがコレクションレベルの権限を持っている場合にのみ編集できるものがあります。たとえばフィールドとリンクの種類は、プロジェクトレベルではなくコレクションレベルで保存されるため、プロジェクトよりも上位のプレーンで権限が必要です。 – jessehouwing

+0

@jessehouwingは傷つけません。サービスアカウントを偽装するためにTFSエクステンションを取得できれば、コレクションレベルのサービスアカウントでもOKです。 –

答えて

0

ため

おかげで)が、私は、私は私の組織でその変更を要求することはできません非常に確信しているあなたは、ユーザーを偽装することができますvsts-node-apiを使用します。

Basic、NTLM、PWA(VSTS)などのようなユーザーを偽装する機能はたくさんありますが、これらの機能を確認することができますhere

import * as vm from 'vso-node-api'; 

// your collection url 
var collectionUrl = "XXX"; 


let authHandler = vm.getNtlmHandler("[user name]","[password]","[workstation optional]","[domain optional]"); 

var connect = new vm.WebApi(collectionUrl, authHandler); 

Thereは、参照できるサンプルです。

+0

AFAIKオンサイトTFS2015の個人用アクセストークンはありません。それはVSOとTFS15RC1から始まるオンプレミアです。 –

+0

@FerdiÖztürk私は自分の答えを更新しました。ユーザーを偽装する多くの機能があり、オンプレミスTFSではgetNtlmHandler関数を使用できます。 –

+0

THXsを更新するには、試してみたいが、私の.TSにvso-node-apiをインポートするのに問題がある。 1. vmin-node-api 2.参照先/// 3. import vsonode = require( " vso-node-api "); - うまくいかなかった。 vso-node-apiモジュールを正しくインポートする方法、または何が欠けているのか教えてください。 (既に.d.tsがvso-node-apisのnode_moduleフォルダにあるので、typing installを使用していません) –

関連する問題