User Entitlements - Add
ユーザーを追加し、ライセンスと拡張機能を割り当てて、アカウント内のプロジェクト グループのメンバーにします。
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1-preview.4
URI パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
organization
|
path | True |
string |
Azure DevOps 組織の名前です。 |
api-version
|
query | True |
string |
使う API のバージョン。 このバージョンの API を使用するには、これを '7.1-preview.4' に設定する必要があります。 |
要求本文
名前 | 型 | 説明 |
---|---|---|
accessLevel |
Access |
ライセンスによって示されるメンバーのアクセス レベル。 |
dateCreated |
string |
[Readonly]メンバーがコレクションに追加された日付。 |
groupAssignments |
Group |
[Readonly]このメンバーが属している GroupEntitlements。 |
id |
string |
GraphMember に関連付けられている ID の ID と一致する一意識別子。 |
lastAccessedDate |
string |
[Readonly]メンバーがコレクションに最後にアクセスした日付。 |
projectEntitlements |
Project |
プロジェクトと、そのプロジェクトでのメンバーの有効なアクセス許可の関係。 |
user |
Graph |
ユーザー参照。 |
応答
名前 | 型 | 説明 |
---|---|---|
200 OK |
User |
成功した操作 |
セキュリティ
oauth2
Type:
oauth2
Flow:
accessCode
Authorization URL:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token 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
Scopes
名前 | 説明 |
---|---|
vso.memberentitlementmanagement_write | ユーザー、ライセンス、およびアクセスできるプロジェクトと拡張機能を管理する機能を付与します |
例
Sample Request
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1-preview.4
{
"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"
}
}
]
}
Sample Response
{
"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 |
Account |
アカウント ライセンスの種類 (Express、利害関係者など)。 AccountLicenseType を使用するには、LicensingSource を要求本文で 'account' として定義する必要があります。 |
assignmentSource |
Assignment |
ライセンスの割り当て元 (グループ、不明など) |
licenseDisplayName |
string |
ライセンスの表示名 |
licensingSource |
Licensing |
ライセンス ソース (アカウントなど)。MSDN など) |
msdnLicenseType |
Msdn |
MSDN ライセンスの種類 (Visual Studio Professional、Visual Studio Enterpriseなど)。 MsdnLicenseType を使用するには、LicensingSource を要求本文で 'msdn' として定義する必要があります。 |
status |
Account |
アカウントのユーザーの状態 |
statusMessage |
string |
ステータス メッセージ。 |
AccountLicenseType
アカウント ライセンスの種類 (Express、利害関係者など)。 AccountLicenseType を使用するには、LicensingSource を要求本文で 'account' として定義する必要があります。
名前 | 型 | 説明 |
---|---|---|
advanced |
string |
|
earlyAdopter |
string |
|
express |
string |
|
none |
string |
|
professional |
string |
|
stakeholder |
string |
AccountUserStatus
アカウントのユーザーの状態
名前 | 型 | 説明 |
---|---|---|
active |
string |
ユーザーが VSTS アカウントに少なくとも 1 回サインインしている |
deleted |
string |
VSTS アカウント管理者によって VSTS アカウントからユーザーが削除される |
disabled |
string |
ユーザーはサインインできません。主に、不在またはライセンスの再割り当てのためにユーザーを一時的に削除するために管理者によって使用されます |
expired |
string |
ユーザーはサインインできます。ライセンスが期限切れ状態にあり、猶予期間が設けられたときに主に使用されます |
none |
string |
|
pending |
string |
ユーザーは VSTS アカウント管理者によって VSTS アカウントに参加するように招待されていますが、まだサインアップまたはサインインしていません |
pendingDisabled |
string |
ユーザーが無効になっています。再び実行可能な場合、それらは引き続き保留中の状態になります |
AssignmentSource
ライセンスの割り当て元 (グループ、不明など)
名前 | 型 | 説明 |
---|---|---|
groupRule |
string |
|
none |
string |
|
unknown |
string |
GraphGroup
グラフ グループ エンティティ
名前 | 型 | 説明 |
---|---|---|
_links |
Reference |
このフィールドには、グラフの件名に関する 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 |
Reference |
このフィールドには、グラフの件名に関する 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 |
Group |
グループの種類 |
GroupEntitlement
ライセンス、拡張機能、プロジェクト メンバーシップなど、追加のプロパティを持つグループ エンティティ
名前 | 型 | 説明 |
---|---|---|
group |
Graph |
メンバー参照。 |
id |
string |
GraphMember の ID と一致する一意識別子。 |
lastExecuted |
string |
[読み取りのみ]グループ ライセンス規則が最後に実行された時刻 (変更が行われたかどうかに関係なく)。 |
licenseRule |
Access |
ライセンス規則。 |
members |
User |
グループ メンバー。 新しいグループを作成する場合にのみ使用されます。 |
projectEntitlements |
Project |
プロジェクトと、そのプロジェクトでのメンバーの有効なアクセス許可の関係。 |
status |
Group |
グループ ルールの状態。 |
GroupLicensingRuleStatus
グループ ルールの状態。
名前 | 型 | 説明 |
---|---|---|
applied |
string |
ルールが適用されます |
applyPending |
string |
ルールは作成または更新されますが、適用は保留中です |
incompatible |
string |
グループルールに互換性がありません |
unableToApply |
string |
ルールが予期せず適用できなかったので、再試行する必要がある |
GroupType
グループの種類
名前 | 型 | 説明 |
---|---|---|
custom |
string |
|
projectAdministrator |
string |
|
projectContributor |
string |
|
projectReader |
string |
|
projectStakeholder |
string |
LicensingSource
ライセンス ソース (アカウントなど)。MSDN など)
名前 | 型 | 説明 |
---|---|---|
account |
string |
|
auto |
string |
|
msdn |
string |
|
none |
string |
|
profile |
string |
|
trial |
string |
MsdnLicenseType
MSDN ライセンスの種類 (Visual Studio Professional、Visual Studio Enterpriseなど)。 MsdnLicenseType を使用するには、LicensingSource を要求本文で 'msdn' として定義する必要があります。
名前 | 型 | 説明 |
---|---|---|
eligible |
string |
|
enterprise |
string |
|
none |
string |
|
platforms |
string |
|
premium |
string |
|
professional |
string |
|
testProfessional |
string |
|
ultimate |
string |
ProjectEntitlement
プロジェクトと、そのプロジェクトでのユーザーの有効なアクセス許可の関係。
名前 | 型 | 説明 |
---|---|---|
assignmentSource |
Assignment |
割り当てソース (グループや不明など)。 |
group |
プロジェクト グループ (共同作成者、閲覧者など) |
|
projectPermissionInherited |
Project |
ユーザーが Azure DevOps または AAD グループ メンバーシップを使用してプロジェクトに対するアクセス許可を継承しているかどうか。 |
projectRef |
Project |
Project Ref |
teamRefs |
Team |
Team Ref. |
ProjectPermissionInherited
ユーザーが Azure DevOps または AAD グループ メンバーシップを使用してプロジェクトに対するアクセス許可を継承しているかどうか。
名前 | 型 | 説明 |
---|---|---|
inherited |
string |
|
notInherited |
string |
|
notSet |
string |
ProjectRef
プロジェクトへの参照
名前 | 型 | 説明 |
---|---|---|
id |
string |
プロジェクト ID。 |
name |
string |
プロジェクト名。 |
ReferenceLinks
REST 参照リンクのコレクションを表す クラス。
名前 | 型 | 説明 |
---|---|---|
links |
object |
リンクの読み取り時ビュー。 参照リンクは読み取り専用であるため、参照リンクは読み取り専用として公開する必要があります。 |
TeamRef
チームへの参照
名前 | 型 | 説明 |
---|---|---|
id |
string |
チーム ID |
name |
string |
チーム名 |
UserEntitlement
ライセンス、拡張機能、プロジェクト メンバーシップなど、追加のプロパティを持つユーザー エンティティ
名前 | 型 | 説明 |
---|---|---|
accessLevel |
Access |
ライセンスによって示されるメンバーのアクセス レベル。 |
dateCreated |
string |
[読み取りのみ]メンバーがコレクションに追加された日付。 |
groupAssignments |
Group |
[読み取りのみ]このメンバーが属している GroupEntitlements。 |
id |
string |
GraphMember に関連付けられている ID の ID と一致する一意識別子。 |
lastAccessedDate |
string |
[読み取りのみ]メンバーがコレクションに最後にアクセスした日付。 |
projectEntitlements |
Project |
プロジェクトと、そのプロジェクトでのメンバーの有効なアクセス許可の関係。 |
user |
Graph |
ユーザー参照。 |
UserEntitlementOperationResult
名前 | 型 | 説明 |
---|---|---|
errors |
object[] |
対応するエラー メッセージとペアになったエラー コードの一覧。 |
isSuccess |
boolean |
操作の成功状態。 |
result |
string |
結果のエンタイトルメント プロパティ。 特定の実装については、次も参照してください。 |
userId |
string |
操作対象のメンバーの識別子。 |
UserEntitlementsPostResponse
名前 | 型 | 説明 |
---|---|---|
isSuccess |
boolean |
すべての操作が成功した場合は True。 |
operationResult |
User |
操作の結果。 |
userEntitlement |
User |
操作が適用された後のユーザーエンタイトルメントの結果。 |