Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将GetFieldValue(“Custom.RevisionCount”,returnOriginalValue)分配给VSTS自定义扩展名html文件中的变量?_Javascript_Tfs_Azure Devops_Devops - Fatal编程技术网

Javascript 如何将GetFieldValue(“Custom.RevisionCount”,returnOriginalValue)分配给VSTS自定义扩展名html文件中的变量?

Javascript 如何将GetFieldValue(“Custom.RevisionCount”,returnOriginalValue)分配给VSTS自定义扩展名html文件中的变量?,javascript,tfs,azure-devops,devops,Javascript,Tfs,Azure Devops,Devops,我对Javascript和VSTS扩展创建非常陌生。我希望创建一个扩展来计算VSTS中工作项的修订计数。为此,我尝试使用工作项表单扩展中的示例java脚本。在java脚本中,我无法获取修订计数的当前值,并将其赋值为变量,以便为每个状态转换进行增量 从VSTS中,我找到了获取字段值的方法,但是如何实现它呢 getFieldValues(“Custom.RevisionCount”,returnOriginalValue) 工作项表单页面示例 VSS.init({ explicitNotifyLo

我对Javascript和VSTS扩展创建非常陌生。我希望创建一个扩展来计算VSTS中工作项的修订计数。为此,我尝试使用工作项表单扩展中的示例java脚本。在java脚本中,我无法获取修订计数的当前值,并将其赋值为变量,以便为每个状态转换进行增量

从VSTS中,我找到了获取字段值的方法,但是如何实现它呢
getFieldValues(“Custom.RevisionCount”,returnOriginalValue)


工作项表单页面示例
VSS.init({
explicitNotifyLoaded:true,
usePlatformScripts:true,
//usePlatformStyles:true
});
//VSS.ready(函数(){
VSS.require([“TFS/WorkItemTracking/Services”],函数(\u WorkItemServices){
//VSS.require([“VSS/Service”,“TFS/Core/RestClient”],函数(VSS\U服务,TFS\U Core\U WebApi){
//var client=VSS_Service.getCollectionClient(Tfs_Core_WebApi.CoreHttpClient4);
//获取WorkItemFormService。此服务允许您获取/设置“活动”工作项(工作项)上的字段/链接
//当前显示在UI中的)。
函数getWorkItemFormService()
{
返回_WorkItemServices.WorkItemFormService.getService();
}
var project=VSS.getWebContext().project.name;
var teamid=VSS.getWebContext().team.id;
//为工作项页面贡献注册侦听器
VSS.register(VSS.getContribution().id,函数(){
返回{
//修改活动工作项时调用
onFieldChanged:函数(args){
如果(项目==“TFS\U培训”)
{                                               
//警报(args);
var data=JSON.stringify(args);
var a2=JSON.parse(数据);
变量a3=a2[“变更字段”];
//var i=GetFieldValue(“Custom.RevisionCount”,returnOriginalValue);
getWorkItemFormService()。然后(函数(服务)
//{            
//获取一些公共字段的当前值
//service.getFieldValues(“Custom.RevisionCount”)。然后(
//函数(值){
//$(“.events”).append($(“”).text(“onload-”+JSON.stringify(value));
// });
变量i=0
if(a3.hasOwnProperty(“System.State”))
{
函数myFunction(i){
返回i+1;
}
getWorkItemFormService()。然后(函数(服务)
{
{
//service.setFieldValue(“系统名称”、“要求更改”);
service.setFieldValue(“Custom.RevisionCount”,myFunction(i));
}
//errorMessage=“statechanged”;
//service.setError(errorMessage);
});   
}                             
}
},
}
});
VSS.notifyLoadSuccessed();
});
//});

对于每个状态转换,仍然显示值1

您不需要定义i,您可以直接使用setFieldValue中的值。从workitem服务获取值后。这种情况(不熟悉js部分),请根据需要更改代码:

getWorkItemFormService().then(function(service)

                            {   // get work item service first

                function getWorkItemFormService()
                           {
                            return _WorkItemServices.WorkItemFormService.getService();
                           }


                             // Get the current values for a few of the common fields
                             //   get filed value here then use below function
                                 function (value) {
                             //       $(".events").append($("<div/>").text("onLoaded - " + JSON.stringify(value)));


                                    //service.setFieldValue("System.Title", "Requirment changed");
                                    service.setFieldValue("Custom.RevisionCount", value+1;)
                                    }                                      
                            }  
getWorkItemFormService()。然后(函数(服务)
{//首先获取工作项服务
函数getWorkItemFormService()
{
返回_WorkItemServices.WorkItemFormService.getService();
}
//获取一些公共字段的当前值
//在这里获取文件值,然后使用下面的函数
函数(值){
//$(“.events”).append($(“”).text(“onload-”+JSON.stringify(value));
//service.setFieldValue(“系统名称”、“要求更改”);
service.setFieldValue(“Custom.RevisionCount”,值+1;)
}                                      
}  

更多详细信息请参阅此处的官方教程:

您不需要定义i,您可以直接使用setFieldValue中的值。从workitem服务获取值后。类似于此(不熟悉js部分),请根据需要更改代码:

getWorkItemFormService().then(function(service)

                            {   // get work item service first

                function getWorkItemFormService()
                           {
                            return _WorkItemServices.WorkItemFormService.getService();
                           }


                             // Get the current values for a few of the common fields
                             //   get filed value here then use below function
                                 function (value) {
                             //       $(".events").append($("<div/>").text("onLoaded - " + JSON.stringify(value)));


                                    //service.setFieldValue("System.Title", "Requirment changed");
                                    service.setFieldValue("Custom.RevisionCount", value+1;)
                                    }                                      
                            }  
getWorkItemFormService()。然后(函数(服务)
{//首先获取工作项服务
函数getWorkItemFormService()
{
返回_WorkItemServices.WorkItemFormService.getService();
}
//获取一些公共字段的当前值