Я пишу небольшую программу на Python, которая обращается к API Gitlab Notes и получает ответы от конечных точек.В настоящее время я пытаюсь объединить количество зарегистрированных пользователей по дате и по каждой проблеме.И я должен сказать разницу между другими комментариями и информацией о времени.Интерфейс комментариев gitlab выглядит так, как будто он показывает разницу между комментариями и информацией о времени, но я не могу понять, как он делает это различие под капотом.
Информация отслеживания времени вводится с помощью команд GitLab,Комментарии представляют собой тексты произвольной формы.
Из документов отслеживания времени Gitlab:
Чтобы ввести затраченное время, вы используете / тратить 3d 5 ч 10 м .
Каждая новая запись о потраченном времени будет добавлена к текущему общему времени, потраченному на выпуск или запрос на объединение.
Вы можете удалить время, введя отрицательную сумму: / затрат -3d
И это отражается в разделе комментариев к проблеме следующим образом:
снимок экрана
ИтакЯ анализирую ответ JSON и использую регулярное выражение для извлечения информации о затраченном времени для каждого пользователя за дату.Проблема в том, что я должен обрабатывать только те данные, на которые потрачено время.
Комментарии Gitlab можно редактировать, а информацию о времени можно вводить только.Информация о времени имеет значок часов, а комментарии - аватар пользователя.
Есть ли где-нибудь это различие в ответе API или где-либо еще?Как я могу справиться с этим, регулярное выражение не поможет.
Пример ответа от Notes API выглядит следующим образом (из Notes API)
[
{
"id": 13572,
"type": null,
"body": "added 30m of time spent at 2019-01-23",
"attachment": null,
"author": {
"id": 54,
"name": "User Lastname",
"username": "user.name",
"state": "active",
"avatar_url": "https://gitlab.company.domain.com/uploads/-/system/user/avatar/54/avatar.png",
"web_url": "https://gitlab.company.domain.com/user.name"
},
"created_at": "2019-01-23T20:25:14.845Z",
"updated_at": "2019-01-23T20:25:14.845Z",
"system": false,
"noteable_id": 1301,
"noteable_type": "Issue",
"resolvable": false,
"noteable_iid": 8
},
...