User Entitlements - Add
ユーザーを追加し、ライセンスと拡張機能を割り当てて、アカウント内のプロジェクト グループのメンバーにします。
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1
URI パラメーター
| 名前 | / | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
organization
|
path | True |
string |
Azure DevOps 組織の名前。 |
|
api-version
|
query | True |
string |
使用する API のバージョン。 このバージョンの API を使用するには、これを '7.1' に設定する必要があります。 |
要求本文
| 名前 | 型 | 説明 |
|---|---|---|
| accessLevel |
ライセンスで示されるメンバーのアクセス レベル。 |
|
| dateCreated |
string (date-time) |
[Readonly]メンバーがコレクションに追加された日付。 |
| groupAssignments |
[Readonly]このメンバーが属している GroupEntitlements。 |
|
| id |
string (uuid) |
GraphMember に関連付けられている ID の ID と一致する一意識別子。 |
| lastAccessedDate |
string (date-time) |
[Readonly]メンバーがコレクションに最後にアクセスした日付。 |
| projectEntitlements |
プロジェクトと、そのプロジェクトにおけるメンバーの有効なアクセス許可との関係。 |
|
| user |
ユーザー参照。 |
応答
| 名前 | 型 | 説明 |
|---|---|---|
| 200 OK |
成功した操作 |
セキュリティ
oauth2
型:
oauth2
フロー:
accessCode
Authorization URL (承認 URL):
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token URL (トークン URL):
https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
スコープ
| 名前 | 説明 |
|---|---|
| vso.memberentitlementmanagement_write | ユーザー、ライセンス、およびアクセスできるプロジェクトと拡張機能を管理する権限を付与します。 |
例
要求のサンプル
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1
{
"accessLevel": {
"licensingSource": "account",
"accountLicenseType": "express"
},
"extensions": [
{
"id": "ms.feed"
}
],
"user": {
"principalName": "newuser@fabrikam.com",
"subjectKind": "user"
},
"projectEntitlements": [
{
"group": {
"groupType": "projectContributor"
},
"projectRef": {
"id": "e5943a98-a842-4001-bd3b-06e756a7dfac"
}
}
]
}
応答のサンプル
{
"operationResult": {
"isSuccess": true,
"errors": [],
"userId": "08bbffa9-4944-4a98-b0c0-1fa718d5de3d",
"result": {
"id": "08bbffa9-4944-4a98-b0c0-1fa718d5de3d",
"user": {
"subjectKind": "user",
"domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
"principalName": "newuser@fabrikam.com",
"mailAddress": "newuser@fabrikam.com",
"origin": "aad",
"originId": "00000000-0000-0000-0000-000000000000",
"displayName": "newuser@fabrikam.com",
"_links": {
"self": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"memberships": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"membershipState": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"storageKey": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
}
},
"url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv",
"descriptor": "aad.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"accessLevel": {
"licensingSource": "account",
"accountLicenseType": "express",
"msdnLicenseType": "none",
"licenseDisplayName": "Basic",
"status": "pending",
"statusMessage": "",
"assignmentSource": "unknown"
},
"lastAccessedDate": "0001-01-01T08:00:00Z",
"projectEntitlements": [],
"extensions": [],
"groupAssignments": []
}
},
"isSuccess": true,
"userEntitlement": {
"id": "08bbffa9-4944-4a98-b0c0-1fa718d5de3d",
"user": {
"subjectKind": "user",
"domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
"principalName": "newuser@fabrikam.com",
"mailAddress": "newuser@fabrikam.com",
"origin": "aad",
"originId": "00000000-0000-0000-0000-000000000000",
"displayName": "newuser@fabrikam.com",
"_links": {
"self": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"memberships": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"membershipState": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"storageKey": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
}
},
"url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv",
"descriptor": "aad.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"accessLevel": {
"licensingSource": "account",
"accountLicenseType": "express",
"msdnLicenseType": "none",
"licenseDisplayName": "Basic",
"status": "pending",
"statusMessage": "",
"assignmentSource": "unknown"
},
"lastAccessedDate": "0001-01-01T08:00:00Z",
"projectEntitlements": [],
"extensions": [],
"groupAssignments": []
}
}
定義
| 名前 | 説明 |
|---|---|
|
Access |
ユーザーに割り当てられたライセンス |
|
Account |
アカウント ライセンスの種類 (Express、利害関係者など)。 AccountLicenseType を使用するには、LicensingSource を要求本文で 'account' として定義する必要があります。 |
|
Account |
アカウントのユーザーの状態 |
|
Assignment |
ライセンスの割り当て元 (グループ、不明など) |
|
Graph |
グラフ グループ エンティティ |
|
Graph |
|
| Group |
プロジェクト グループ (共同作成者、閲覧者など) |
|
Group |
ライセンス、拡張機能、プロジェクト メンバーシップなど、追加のプロパティを持つグループ エンティティ |
|
Group |
グループ ルールの状態。 |
|
Group |
グループの種類 |
|
Licensing |
ライセンス ソース (アカウントなど)。MSDN など) |
|
Msdn |
MSDN ライセンスの種類 (Visual Studio Professional、Visual Studio Enterprise など)。 MsdnLicenseType を使用するには、LicensingSource を要求本文で 'msdn' として定義する必要があります。 |
|
Project |
プロジェクトと、そのプロジェクトにおけるユーザーの有効なアクセス許可の関係。 |
|
Project |
ユーザーが Azure DevOps または AAD グループ メンバーシップを使用してプロジェクトに対するアクセス許可を継承しているかどうか。 |
|
Project |
プロジェクトへの参照 |
|
Reference |
REST 参照リンクのコレクションを表すクラス。 |
|
Team |
チームへの参照 |
|
User |
ライセンス、拡張機能、プロジェクト メンバーシップなど、追加のプロパティを持つユーザー エンティティ |
|
User |
|
|
User |
AccessLevel
ユーザーに割り当てられたライセンス
| 名前 | 型 | 説明 |
|---|---|---|
| accountLicenseType |
アカウント ライセンスの種類 (Express、利害関係者など)。 AccountLicenseType を使用するには、LicensingSource を要求本文で 'account' として定義する必要があります。 |
|
| assignmentSource |
ライセンスの割り当て元 (グループ、不明など) |
|
| licenseDisplayName |
string |
ライセンスの表示名 |
| licensingSource |
ライセンス ソース (アカウントなど)。MSDN など) |
|
| msdnLicenseType |
MSDN ライセンスの種類 (Visual Studio Professional、Visual Studio Enterprise など)。 MsdnLicenseType を使用するには、LicensingSource を要求本文で 'msdn' として定義する必要があります。 |
|
| status |
アカウントのユーザーの状態 |
|
| statusMessage |
string |
状態メッセージ。 |
AccountLicenseType
アカウント ライセンスの種類 (Express、利害関係者など)。 AccountLicenseType を使用するには、LicensingSource を要求本文で 'account' として定義する必要があります。
| 値 | 説明 |
|---|---|
| none | |
| earlyAdopter | |
| express | |
| professional | |
| advanced | |
| stakeholder |
AccountUserStatus
アカウントのユーザーの状態
| 値 | 説明 |
|---|---|
| none | |
| active |
ユーザーが VSTS アカウントに少なくとも 1 回サインインしている |
| disabled |
ユーザーはサインインできません。主に管理者が、不在またはライセンスの再割り当てのためにユーザーを一時的に削除するために使用されます |
| deleted |
VSTS アカウント管理者によって VSTS アカウントからユーザーが削除される |
| pending |
ユーザーは VSTS アカウント管理者によって VSTS アカウントに参加するように招待されていますが、まだサインアップまたはサインインしていません |
| expired |
ユーザーはサインインできます。ライセンスが期限切れの状態にあり、猶予期間が設けられたときに主に使用されます |
| pendingDisabled |
ユーザーが無効になっています。再び実行可能にした場合、それらは引き続き保留中の状態になります |
AssignmentSource
ライセンスの割り当て元 (グループ、不明など)
| 値 | 説明 |
|---|---|
| none | |
| unknown | |
| groupRule |
GraphGroup
グラフ グループ エンティティ
| 名前 | 型 | 説明 |
|---|---|---|
| _links |
このフィールドには、グラフの件名に関する興味深いリンクが 0 個以上含まれています。 これらのリンクを呼び出して、このグラフの件名に関する追加のリレーションシップや詳細情報を取得できます。 |
|
| description |
string |
人間の読者が似た名前のグループをあいまいに区別するのに役立つ短い語句 |
| descriptor |
string |
記述子は、システムの実行中にグラフの件名を参照する主な方法です。 このフィールドは、アカウントと組織の両方で同じグラフの件名を一意に識別します。 |
| displayName |
string |
これは、グラフの件名の一意でない表示名です。 このフィールドを変更するには、ソース プロバイダーでその値を変更する必要があります。 |
| domain |
string |
これは、グラフ メンバーの元のコンテナーの名前を表します。 (MSA の場合、これは "Windows Live ID" です。AD の場合はドメインの名前、AAD の場合はディレクトリの tenantID、VSTS グループの場合は ScopeId など)。 |
| legacyDescriptor |
string |
[内部使用のみ]レガシ記述子は、ID 記述子を使用して古いバージョンの IMS にアクセスする必要がある場合に備えています。 |
| mailAddress |
string |
特定のグラフ メンバーのレコードの電子メール アドレス。 これはプリンシパル名とは異なる場合があります。 |
| origin |
string |
配信元識別子のソース プロバイダーの種類 (例: AD、AAD、MSA) |
| originId |
string |
配信元システムからの一意の識別子。 通常は、sid、オブジェクト ID、または Guid です。 リンク操作とリンク解除操作では、ユーザーが別のプロバイダーによってサポートされておらず、新しいプロバイダーで異なる一意の ID を持っているため、ユーザーに対してこの値が変更される可能性があります。 |
| principalName |
string |
これは、ソース プロバイダーのこのグラフ メンバーの PrincipalName です。 ソース プロバイダーは、時間の経過と同時にこのフィールドを変更する可能性があり、VSTS によるグラフ メンバーの有効期間中は不変であるとは限りません。 |
| subjectKind |
string |
このフィールドは、グラフの件名の種類 (グループ、スコープ、ユーザーなど) を識別します。 |
| url |
string |
この URL は、このグラフの件名のソース リソースへの完全なルートです。 |
GraphUser
| 名前 | 型 | 説明 |
|---|---|---|
| _links |
このフィールドには、グラフの件名に関する興味深いリンクが 0 個以上含まれています。 これらのリンクを呼び出して、このグラフの件名に関する追加のリレーションシップや詳細情報を取得できます。 |
|
| descriptor |
string |
記述子は、システムの実行中にグラフの件名を参照する主な方法です。 このフィールドは、アカウントと組織の両方で同じグラフの件名を一意に識別します。 |
| directoryAlias |
string |
バッキング ディレクトリ内のユーザーの短い一般的な一意の名前。 AAD ユーザーの場合、これはメールのニックネームに対応します。これは、多くの場合、@記号の前のユーザーのメール アドレスの部分に似ていますが、必ずしも似ているとは限りません。 GitHub ユーザーの場合、これは GitHub ユーザー ハンドルに対応します。 |
| displayName |
string |
これは、グラフの件名の一意でない表示名です。 このフィールドを変更するには、ソース プロバイダーでその値を変更する必要があります。 |
| domain |
string |
これは、グラフ メンバーの元のコンテナーの名前を表します。 (MSA の場合、これは "Windows Live ID" です。AD の場合はドメインの名前、AAD の場合はディレクトリの tenantID、VSTS グループの場合は ScopeId など)。 |
| isDeletedInOrigin |
boolean |
true の場合、グループは ID プロバイダーで削除されています |
| legacyDescriptor |
string |
[内部使用のみ]レガシ記述子は、ID 記述子を使用して古いバージョンの IMS にアクセスする必要がある場合に備えています。 |
| mailAddress |
string |
特定のグラフ メンバーのレコードの電子メール アドレス。 これはプリンシパル名とは異なる場合があります。 |
| metaType |
string |
"member"、"guest" など、配信元のユーザーのメタ型。使用可能な値のセットについては、UserMetaType を参照してください。 |
| origin |
string |
配信元識別子のソース プロバイダーの種類 (例: AD、AAD、MSA) |
| originId |
string |
配信元システムからの一意の識別子。 通常は、sid、オブジェクト ID、または Guid です。 リンク操作とリンク解除操作では、ユーザーが別のプロバイダーによってサポートされておらず、新しいプロバイダーで異なる一意の ID を持っているため、ユーザーに対してこの値が変更される可能性があります。 |
| principalName |
string |
これは、ソース プロバイダーのこのグラフ メンバーの PrincipalName です。 ソース プロバイダーは、時間の経過と同時にこのフィールドを変更する可能性があり、VSTS によるグラフ メンバーの有効期間中は不変であるとは限りません。 |
| subjectKind |
string |
このフィールドは、グラフの件名の種類 (グループ、スコープ、ユーザーなど) を識別します。 |
| url |
string |
この URL は、このグラフの件名のソース リソースへの完全なルートです。 |
Group
プロジェクト グループ (共同作成者、閲覧者など)
| 名前 | 型 | 説明 |
|---|---|---|
| displayName |
string |
グループの表示名 |
| groupType |
グループの種類 |
GroupEntitlement
ライセンス、拡張機能、プロジェクト メンバーシップなど、追加のプロパティを持つグループ エンティティ
| 名前 | 型 | 説明 |
|---|---|---|
| group |
メンバー参照。 |
|
| id |
string (uuid) |
GraphMember の ID と一致する一意の識別子。 |
| lastExecuted |
string (date-time) |
[Readonly]グループ ライセンス規則が最後に実行された時刻 (変更が加えられたかどうかに関係なく)。 |
| licenseRule |
ライセンス 規則。 |
|
| members |
グループ メンバー。 新しいグループを作成する場合にのみ使用されます。 |
|
| projectEntitlements |
プロジェクトと、そのプロジェクトにおけるメンバーの有効なアクセス許可との関係。 |
|
| status |
グループ ルールの状態。 |
GroupLicensingRuleStatus
グループ ルールの状態。
| 値 | 説明 |
|---|---|
| applyPending |
ルールは作成または更新されますが、適用は保留中です |
| applied |
ルールが適用されます |
| incompatible |
グループ ルールに互換性がありません |
| unableToApply |
ルールが予期せず適用され、再試行する必要がある |
GroupType
グループの種類
| 値 | 説明 |
|---|---|
| projectStakeholder | |
| projectReader | |
| projectContributor | |
| projectAdministrator | |
| custom |
LicensingSource
ライセンス ソース (アカウントなど)。MSDN など)
| 値 | 説明 |
|---|---|
| none | |
| account | |
| msdn | |
| profile | |
| auto | |
| trial |
MsdnLicenseType
MSDN ライセンスの種類 (Visual Studio Professional、Visual Studio Enterprise など)。 MsdnLicenseType を使用するには、LicensingSource を要求本文で 'msdn' として定義する必要があります。
| 値 | 説明 |
|---|---|
| none | |
| eligible | |
| professional | |
| platforms | |
| testProfessional | |
| premium | |
| ultimate | |
| enterprise |
ProjectEntitlement
プロジェクトと、そのプロジェクトにおけるユーザーの有効なアクセス許可の関係。
| 名前 | 型 | 説明 |
|---|---|---|
| assignmentSource |
割り当て元 (グループや不明など)。 |
|
| group |
プロジェクト グループ (共同作成者、閲覧者など) |
|
| projectPermissionInherited |
ユーザーが Azure DevOps または AAD グループ メンバーシップを使用してプロジェクトに対するアクセス許可を継承しているかどうか。 |
|
| projectRef |
Project Ref |
|
| teamRefs |
Team |
Team Ref. |
ProjectPermissionInherited
ユーザーが Azure DevOps または AAD グループ メンバーシップを使用してプロジェクトに対するアクセス許可を継承しているかどうか。
| 値 | 説明 |
|---|---|
| notSet | |
| notInherited | |
| inherited |
ProjectRef
プロジェクトへの参照
| 名前 | 型 | 説明 |
|---|---|---|
| id |
string (uuid) |
プロジェクト ID。 |
| name |
string |
プロジェクト名。 |
ReferenceLinks
REST 参照リンクのコレクションを表すクラス。
| 名前 | 型 | 説明 |
|---|---|---|
| links |
object |
リンクの読み取りビュー。 参照リンクは読み取り専用であるため、読み取り専用として公開する必要があります。 |
TeamRef
チームへの参照
| 名前 | 型 | 説明 |
|---|---|---|
| id |
string (uuid) |
チーム ID |
| name |
string |
チーム名 |
UserEntitlement
ライセンス、拡張機能、プロジェクト メンバーシップなど、追加のプロパティを持つユーザー エンティティ
| 名前 | 型 | 説明 |
|---|---|---|
| accessLevel |
ライセンスで示されるメンバーのアクセス レベル。 |
|
| dateCreated |
string (date-time) |
[Readonly]メンバーがコレクションに追加された日付。 |
| groupAssignments |
[Readonly]このメンバーが属している GroupEntitlements。 |
|
| id |
string (uuid) |
GraphMember に関連付けられている ID の ID と一致する一意識別子。 |
| lastAccessedDate |
string (date-time) |
[Readonly]メンバーがコレクションに最後にアクセスした日付。 |
| projectEntitlements |
プロジェクトと、そのプロジェクトにおけるメンバーの有効なアクセス許可との関係。 |
|
| user |
ユーザー参照。 |
UserEntitlementOperationResult
| 名前 | 型 | 説明 |
|---|---|---|
| errors |
object[] |
対応するエラー メッセージと組み合わせたエラー コードの一覧。 |
| isSuccess |
boolean |
操作の成功状態。 |
| result |
string (T) |
結果のエンタイトルメント プロパティ。 具体的な実装については、「 <seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.ServicePrincipalEntitlementOperationResult" /><seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.UserEntitlementOperationResult" /> |
| userId |
string (uuid) |
操作対象のメンバーの識別子。 |
UserEntitlementsPostResponse
| 名前 | 型 | 説明 |
|---|---|---|
| isSuccess |
boolean |
すべての操作が成功した場合は True。 |
| operationResult |
操作の結果。 |
|
| userEntitlement |
操作が適用された後のユーザー権利の結果。 |