#teamcity #rest
#teamcity #отдых
Вопрос:
Вот конфигурация сборки с 24 шагами. С помощью API я могу получить общую продолжительность времени сборки. Как я могу получить длительность каждого из 24 шагов? https: //[server]/app/rest/builds/id:[123]/
<startDate>20210122T123050 0000</startDate>
<finishDate>20210122T123115 0000</finishDate>
Ответ №1:
Вы можете упростить это, используя служебные сообщения TeamCity
Например, вы можете использовать сообщения о ходе выполнения
##teamcity[progressMessage '<message>']
или статистика:
##teamcity[buildStatisticValue key='<valueTypeKey>' value='<value>']
Ответ №2:
вы можете использовать https://[tc_server]/app/rest/builds/id:[id]/statistics
api
curl -u user:password https://myserver.com/app/rest/builds/id:123/statistics -H accept:application/json
{"count":18,"property":[{"name":"ArtifactsSize","value":"28734525"},{"name":"BuildDuration","value":"2860858"},{"name":"BuildDurationNetTime","value":"2852922"},{"name":"buildStageDuration:artifactsPublishing","value":"3976"},{"name":"buildStageDuration:buildFinishing","value":"221"},{"name":"buildStageDuration:buildStepRUNNER_1","value":"26715"},{"name":"buildStageDuration:buildStepRUNNER_4","value":"1517192"},{"name":"buildStageDuration:buildStepRUNNER_5","value":"1233555"},{"name":"buildStageDuration:buildStepRUNNER_6","value":"75460"},{"name":"buildStageDuration:firstStepPreparation","value":"2"},{"name":"buildStageDuration:sourcesUpdate","value":"3408"},{"name":"buildStageDuration:toolsUpdating","value":"1"},{"name":"BuildTestStatus","value":"1"},{"name":"queueWaitReason:Checking_for_changes_is_in_progress","value":"810"},{"name":"serverSideBuildFinishing","value":"92"},{"name":"SuccessRate","value":"1"},{"name":"TimeSpentInQueue","value":"1057"},{"name":"VisibleArtifactsSize","value":"18049068"}]}
в ответе указаны длительности этапов сборки
{"name":"buildStageDuration:buildStepRUNNER_1","value":"26715"},
{"name":"buildStageDuration:buildStepRUNNER_4","value":"1517192"},
{"name":"buildStageDuration:buildStepRUNNER_5","value":"1233555"},
{"name":"buildStageDuration:buildStepRUNNER_6","value":"75460"}
ps в ответе указаны не все этапы сборки (№ 2 и 3). это означает, что они были пропущены или, возможно, длительность составляла <1 с