我们的自定义任务在我们的发布流程中表现出一些奇怪的行为。我们的输入之一是有20个选项的选项列表。此外,只有在选项列表中选择“其他”选项时,才会显示文本字段。这是task.json的相关部分(有些是匿名的)
{
"name": "Site",
"type": "picklist",
"label": "Site Name",
"defaultValue": "",
"required": false,
"helpMarkDown": "Site name - choose 'Other' if desired site is not available",
"groupName": "GeneralGroup",
"options": {
"SITE_1": "SITE_1",
"SITE_2": "SITE_2",
"SITE_3": "SITE_3",
"SITE_4": "SITE_4",
"SITE_5": "SITE_5",
"SITE_6": "SITE_6",
"SITE_7": "SITE_7",
"SITE_8": "SITE_8",
"SITE_9": "SITE_9",
"SITE_10": "SITE_10",
"SITE_11": "SITE_11",
"SITE_12": "SITE_12",
"SITE_13": "SITE_13",
"SITE_14": "SITE_14",
"SITE_15": "SITE_15",
"SITE_16": "SITE_16",
"SITE_17": "SITE_17",
"SITE_18": "SITE_18",
"SITE_19": "SITE_19",
"Other": "Other"
}
},
{
"name": "CustomSite",
"type": "string",
"label": "Custom Site Name",
"defaultValue": "",
"required": false,
"helpMarkDown": "Custom site name - if not provided, current site will be used",
"groupName": "GeneralGroup",
"visibleRule": "Site = Other"
},
任务输入在编辑发布定义时运行良好,如此处所示
问题在于我们编辑活动版本,并从该视图查看任务。由于某种原因,下拉列表不会出现在屏幕上。有一个部分可用,但缺少下拉列表。另一个选项列表(环境)显示正常。
我们不确定这里发生了什么,或者如何解决它。其他具有附加到其选项列表的可见规则的任务(例如Nuget)似乎没有表现出这种行为。关于这可能是什么的任何想法?我们在内部使用TFS 2018,更新1。
谢谢
编辑:回答以下问题
除了好奇之外,我还看到了另一件事,就是视图背后的HTML。当我比较一个正在运行的选项列表和一个问题列表时,我发现输入控件刚刚完全丢失
编辑2018-06-18:
我尝试了更多选项和变体列表,试图找出可以解释环境和网站之间不同行为的任何特征。我测试了标签中的空格是否重要,默认设置/未设置,必需的真/假,我们在选择列表值中的下划线,选择列表的各种长度(从5个项目到20个的所有内容),以及从帮助中删除撇号文本。几乎不知道接下来会尝试什么......
答案 0 :(得分:1)
经过多次试验和错误后,我发现答案明显在我脸上
"type": "picklist",
错了
"type": "pickList",
是对的。 TFS似乎同时接受这两者,并且在Release和Build定义屏幕上都正确呈现,但只有pickList
(大写L)才能在发布实例屏幕上正确呈现。
答案 1 :(得分:0)
如果效果很好,建议您先使用新添加的版本进行测试。如果问题与特定版本相关,这将缩小范围。
同时打开和关闭,重新打开该特定版本。如果它应该是间歇性问题,刷新应该修复它。
此外,如果出现意外修改,建议您浏览发布定义的历史记录。如果某些内容导致更改定义,则应将其显示为更新,并可能提供有关这些任务消失的原因的一些线索。
然后还要检查这些自定义任务是否也缺少相应构建定义中的选项列表。
一种可能性,此选项列表的任务是在创建活动发布后开发的。所以这些变化无法同步。在这种情况下,您可以创建一个全新的版本并包含此任务。这应该可以解决问题。