TFSでホストされているGITリポジトリに対するプログラムでアクセス許可を照会する -- git フィールド と tfs フィールド と azure-devops フィールド と tfs-sdk フィールド 関連 問題

Programmatically query permissions on a Git repository hosted on TFS












8
vote

問題

日本語

プログラムで特定のGITリポジトリに対する権限を取得する方法を把握しようとしています。

オンラインで与えられたTFS APIリファレンスは、セキュリティAPIのいずれかを詳細には提供しません。ただし、Web Portalからセキュリティを変更するとき、これは間違いなくTFSで行われます。

Web通話の追跡、私は次のAPI

に通話が行われることがわかります。 <事前> <コード> http://tfsserver/tfs/DefaultCollection/[TeamProject]/_api/_security/DisplayPermissions? __v=5&tfid=[PROJ_GUID]&permissionSetId=[PERMMISSIONSET_GUID] &permissionSetToken=repositories/[REPOSITORY_GUID].

私は上記のURLに渡されたすべてのGUIDを推測しましたが、許可されているPermissionSetIDパラメータを入力する場所を理解できませんでした。

Webページを見ると、 gitRepositoryPermissionSet から選択された値がわかりますが、この値を取得する方法は見つかりません。

誰かがこのパラメータを理解して私を助けることができるかどうか疑問に思います。

英語

I have been trying to figure out method of fetching permissions on a particular Git Repository programmatically.

The TFS API reference given online doesn't detail any of the security API's. However, this is definitely done in TFS when you or view modify security from the web portal.

Tracking the web calls, I can see that calls being made to the following API

http://tfsserver/tfs/DefaultCollection/[TeamProject]/_api/_security/DisplayPermissions? __v=5&tfid=[PROJ_GUID]&permissionSetId=[PERMMISSIONSET_GUID] &permissionSetToken=repositories/[REPOSITORY_GUID]. 

I have inferred all the GUIDS passed to the above URL but couldn't understand where to get the GUID for fill the PermissionSetId parameter.

Looking at the web page, I can see that the value picked up from gitRepositoryPermissionSet, but I can't find it out how to get this value.

Wondering if anyone can help me out with understanding this parameter.

</div
           
   
   

回答リスト

1
 
vote

2015年に戻って、これには良いAPIはありませんでしたが、物事が変わったためです。アクセス許可のための完全なREST APIがあり、TFSSecurityを使用することができ、azure-cliがアクセス許可を照会および設定する機能で拡張されました。

最近Gitリポジトリの権限を探るブログ記事を書いた:

  • https://jessehouwing.net/azure-devops- git-setting-default-repository-permissions /
  • <a href="https://docs.microsoft.com/en-us/rest/api/azure/devops/security/?view=azure-devops-rest-5.1" REL=">> https://docs.microsoft.com/en-us/rest/api/azure/devops/security/?view=azure-devops-rest-5.1
 

Back in 2015 there was no good API for this yet, but since things have changed. There is now a complete REST api for permissions, tfssecurity can be used and Azure-CLI has been extended with the ability to query and set permissions.

I've written a blog post recently that explores Git Repository permissions:

  • https://jessehouwing.net/azure-devops-git-setting-default-repository-permissions/
  • https://docs.microsoft.com/en-us/rest/api/azure/devops/security/?view=azure-devops-rest-5.1
</div
 
 
0
 
vote

WebブラウザでGitリポジトリを表示し、 view-source を実行すると、HTMLソースが取得されます。そこにあなたはこのようなものを見つけるでしょう:

<事前> <コード> <script class="options" defer="defer" type="application/json"> {"tfsRepositoryPermissionSet":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", **"gitRepositoryPermissionSet":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"**, "projectGuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "projectUri":"vstfs:///Classification/TeamProject/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "projectVersionControlInfo":{ "supportsGit":true, "project":{ "id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "name":"xxxxxx", "url":"http://xxx:xxx/xxx/xxxxxxxxxxxxxxxx/_apis/projects/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "state":"wellFormed" } }, "gitRepositories":[ {"id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","name":"xx

これはあなたがおそらく探しているものです。

 

If you view the Git repository in web browser and do a view-source, you will get HTML source of it. There you will find something like this:

<script class="options" defer="defer" type="application/json"> {"tfsRepositoryPermissionSet":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",  **"gitRepositoryPermissionSet":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"**,  "projectGuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",  "projectUri":"vstfs:///Classification/TeamProject/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",  "projectVersionControlInfo":{      "supportsGit":true,      "project":{          "id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",          "name":"xxxxxx",          "url":"http://xxx:xxx/xxx/xxxxxxxxxxxxxxxx/_apis/projects/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",          "state":"wellFormed"      }  },  "gitRepositories":[      {"id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","name":"xx 

This is what you are most probably looking for.

</div
 
 

関連する質問

0  TFS API:C#のチェンジセットのリクエスト  ( Tfs api request review on changeset in c sharp ) 
通常Source Control Explorerを介して変更セットを開き、変更セットを介してチェンジセットを開き、[Actions-]を選択してから、[チームエクスプローラ]ウィンドウで[リクエスト]ボタンをクリックします。 C#私は私の変更セットをすべて...

4  WebServiceからVisual Studioチームサービスに接続します  ( Connect to visual studio team services from webservice ) 
TfsTeamProjectCollectionFactory.GetTeamProjectCollection に資格情報を提供する方法 私は魔女から私自身のWCFサービスを開発しようとしています私はTFSへの要求をします Microsoft.TeamF...

2  TFS SDKを使用すると、サーバーにカスタムメタデータを登録できますか?  ( With the tfs sdk can i register custom metadata in the server ) 
私は、Visual Studio Pluginが接続し、Visual StudioがTeam System Serverに接続するカスタム、Windowsサービスを持っています。 は、私のカスタムサービスがTFSサーバのURIのURIを登録して、Visual ...

6  TFS API - 作業項目フィールドを更新します  ( Tfs api updating a work item field ) 
TFS APIを使用して作業項目のフィールドを更新することは可能ですか? この行に沿って何か: <事前> <コード> WorkItemStore.GetWorkItem(Convert.ToInt32(current.WorkItemId)).State = ...

8  TFS API - Workitemタイプの遷移のリストを取得する方法はありますか?  ( Tfs api is there a way to get a list of the transitions for a workitem type ) 
私は状態 "a"から述べる "x"に到達しようとしています。 私がXに進むだけで私を妨げる際の遷移があります。 XMLとしてXMLとして働き、その作業を行うことができますが、それを実行する前に、APIを介した遷移に到達する方法があるかどうかを尋ねると思いまし...

3  破壊された職場に関する情報を入手する方法  ( How to get information about destroyed workitems ) 
TFS 2010を使用し、TFS APIを使用して削除された作業項目に関する情報を取得する必要があります。 TFS DBには、破壊された作業項目に関する情報が含まれているTable [WorkItemsDestRoyed]があります。 TFS APIを使用し...

0  TFS最新のコードを入手 - GettingEventArgsプロパティ 'total'と 'current'が表示されない  ( Tfs get latest code gettingeventargs properties total and current not visi ) 
クライアントAPIを使用して最新のTFSから取得するコードを書いています。進捗状況で更新したいと思います。ゲストベンタルグのプロパティ "Total"と "Current"を使用できることを理解しています。しかし、これらのプロパティは設計時には見えませんが、実...

3  TFS APIのSourceControlの履歴を取得する方法  ( How to get the history of the sourcecontrol in tfs api ) 
TFS APIを使用している新しいチームプロジェクトを削除しているアプリを作成していますが、最後の時間を知りたいのですが、最後の時間を知りたいのですが、Source Control Explorer&GTに表示される情報を意味します。 「サンプルプロジェクト...

0  TFS2015でテスト結果を作成し、それらを概要ページに追加する方法  ( How to create test result in tfs2015 and add them to summary page ) 
私のテストの結果を要約ページに表示する必要があります。カスタムフォーマットのテストレポートであるため、TFSのインボックスのテストタスクを使用することはできませんが、単体テストと同じ動作をしたいと思います。 サマリーページの統計ページテストの詳細タブにつなが...

1  TFS2017:APIを介してコードレビュー要求を作成します  ( Tfs2017 create a code review request through api ) 
チェンジセットに完全な Code Review Request を作成する方法はあります(Visual Studio Team Explorer - &GTを通じて、変更をコメントすることができるレビュー担当者に電子メールで電子メールで)。 .NETライブラ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有