[英]Azure-Devops remove user from projectContributor via Rest API
使用 PowerShell 我正在嘗試從 groupType projectContributor 中刪除用戶,以便我可以將他移至項目團隊。 我可以完成向項目團隊的添加,但是我已經盡我所能使用 PATCH 刪除此用戶權利,但沒有成功。 僅供參考,以避免評論,OrgUrl、projectId 和 userId 正在傳遞。
$b= @"
[
{
"op": "remove",
"path": "/projectEntitlements",
"value": {
"projectRef": {
"id": "$projectID"
},
"group": {
"groupType": "projectContributor"
}
}
}
]
"@
$uri = "$orgURL/_apis/userentitlements/$userId`?api-version=5.1-preview.2"
Invoke-RestMethod -Uri $uri -ContentType "application/json-patch+json" -Body $b -Method PATCH -Headers @{ Authorization = ("Basic {0}" -f $base64AuthInfo)}
我得到的錯誤是:
projectId","typeName":"System.ArgumentException, mscorlib","typeKey":"ArgumentException","errorCode":0,"eventId":0}
At line:20 char:1
+ Invoke-RestMethod -Uri $uri -ContentType "application/json-patch+json ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
任何幫助/示例表示贊賞。 我已經閱讀了 Azure DevOps API 的所有 API 文檔。
我在使用用戶授權rest api 時遇到了同樣的錯誤。
從組 rest api 中刪除成員對我有用。
DELETE https://vsaex.dev.azure.com/{organization}/_apis/GroupEntitlements/{groupId}/members/{memberId}?api-version=5.1-preview.1
當用戶作為項目貢獻者添加到項目時。 該用戶將被添加到該項目的[ProjectName]\\Contributors
組。
然后,您可以使用Group List rest api獲取[ProjectName]\\Contributors
的組 id。 上面Remove Member From Group
api 的{memberId}
是用戶的userId
。 然后你可以調用上面的 api 將用戶從項目貢獻者組中刪除。
請試試這個:
$b= @"
[
{
"op": "remove",
"path": "/projectEntitlements/$projectID",
"value": {
"projectRef": {
"id": "$projectID"
},
"group": {
"groupType": "projectContributor"
}
}
}
]
"@
而且由於您要在這條路徑下刪除價值,我不確定您是否需要價值,所以這應該為您提供相同的:
$b= @"
[
{
"op": "remove",
"path": "/projectEntitlements/$projectID",
"value": ""
}
]
"@
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.