我正在尝试为所有构建编写查询,但未能理解表[tbl_Schedule]中的[ScheduleTime]列。
SELECT bd.DefinitionName 'Name', s.ScheduleTime 'ScheduleTime', s.ScheduleTime/1800 'Hour'
FROM [TFS_FTPDev].[dbo].[tbl_Schedule] s
inner join [TFS_FTPDev].[dbo].[tbl_BuildDefinition] bd on
bd.[DefinitionId]=s.[DefinitionId]
where ContinuousIntegrationType in (8,16)
order by s.ScheduleTime asc
如果我除以3600,我得到一个合理的数据,但它对我的所有构建都无效...即Build1和build2计划在13:00进行几天....
name ScheduleTime Hour
build1 43200 12
build2 43200 12
build3 68400 19
build4 77400 21.30
build5 79200 22
build6 82800 23
build7 84600 23.30
build8 84600 23.30
build9 84600 23.30
,映射是:
when 84600 then 23.30
when 79200 then 22
when 77400 then 21.30
when 68400 then 19
when 43200 then 12
更新:[使用TFS API]
这是手动触发/预定构建的API results ...
答案 0 :(得分:1)
您是否看过TFS Build API中的QueryBuilds方法,而不是从数据库中读取(不受支持)?
答案 1 :(得分:1)
答案 2 :(得分:0)
我不确定你在问什么,但如果你使用3,600(60秒x 60分钟),你会得到预期的值。
关于为什么有些人在手动构建时有时间表的问题可以通过以下方式复制:
因此,我建议您查询的构建实际上已从另一个构建克隆,然后元数据发生更改,当构建从计划更改为非计划时,似乎不会清除计划时间。无论是在他们的历史中还是在他们的历史中的某个时刻,他们都有一个预定的时间设置,此后已被更改