有没有办法更改TFS中工作项的Created By字段?也许通过改变数据库?
我希望能够创建一个错误/功能/ PBI,然后将其更改为由向我报告的工作人员创建。
这样,我可以跟踪提交更改请求的人,然后他们也会收到错误更新通知。
答案 0 :(得分:1)
似乎你想为工作项设置一个faker创建者。
创建者
创建工作项的团队成员的名称。
参考名称= Microsoft.VSTS.Common.CreatedBy
没有内置方法可以更改此字段。看看这个:
<强> IsEditable 强>
没有
指示用户是否可以修改此字段(True)(False)。 不可编辑字段的示例是系统设置的字段,例如ID,修订版,创建者和更改者 字段。
更多详情请参阅Work Item Field Attributes – What You Can and Can’t Change
直接在数据库中更改值可能会起作用,但这不是推荐的方法。它也违背了源代码控制的概念。
如果您只想在工作项更新时通知其他人。建议您使用工作项中的 follow 功能。
如果要跟踪单个工作项的进度,请单击“关注”图标图标。这表示系统在对工作项进行更改时通知您。
注意: 此功能适用于TFS 2017及以上版本。
答案 1 :(得分:1)
只有在启用了绕过规则的情况下通过API创建工作项时,才能覆盖CreatedBy字段。有关详细信息,请参阅此链接:Make an update bypassing rules。
快速解决方案是创建一个powershell脚本,通过Rest API创建工作项。样品供您参考:
#Input basic information
$collectionuri = "http://tfsserver:8080/tfs/DefaultCollection/"
$project = "ProjectName"
$workitemtype = 'Task'
$createdby = 'Display Name'
$title = 'Title'
#Create the workitem
$workitem = @(@{op="add";path="/fields/System.Title";value=$title},@{op="add";path="/fields/System.CreatedBy";value=$createdby})
$json = $workitem | ConvertTo-Json -Depth 100
$headers= @{"Content-Type"="application/json-patch+json"}
$url= $collectionuri + $project + '/_apis/wit/workitems/$' + $workitemtype +'?bypassRules=true&api-version=1.0'
$mycredentials = Get-Credential
$wi = Invoke-RestMethod -Uri $url -Method Patch -Credential $mycredentials -Body $json -ContentType 'application/json-patch+json'
Write-Host $wi
答案 2 :(得分:0)
为什么要更新系统字段?您可以添加一个新字段&#34; Initiator&#34;(Add or modify a field to track work)。在创建时从Created By设置值。然后在需要时更新它。