GitLab API - определение разницы между комментарием и командой при разборе ответа - PullRequest
0 голосов
/ 24 января 2019

Я пишу небольшую программу на 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
    }, 
...

...