Получите contrib.json на Gitlab - PullRequest
       27

Получите contrib.json на Gitlab

0 голосов
/ 04 ноября 2019

Как я могу получить contributions.json себя в конвейере Gitlab CI с частными вкладами, если в настройках отключено «показывать частные вклады»?

https://gitlab.com/users/GITLAB_USERNAME/calendar.json показывает как публичные, так и частные вкладыесли вошедший в систему пользователь - GITLAB_USERNAME.

https://gitlab.com/users/GITLAB_USERNAME/calendar.json показывает только публичные вклады, если вошедший в систему пользователь не является GITLAB_USERNAME и "показывать личные вклады" отключен для GITLAB_USERNAME.

Iможет сделать это с curl --cookie "_gitlab_session=..." https://gitlab.com/users/GITLAB_USERNAME/calendar.json, где я получил cookie, войдя в систему через веб-интерфейс. По умолчанию срок действия файла cookie сеанса истекает через 1 неделю.

Мне нужен автоматический способ сделать это через конвейер CI без симуляции входа в систему и сохранения моего пароля в качестве переменной (небезопасно, и если я изменю свой пароль,Мне нужно обновить все из них).

Я пытался использовать CI_JOB_TOKEN для аутентификации (как я делаю с API: curl --header "PRIVATE-TOKEN: $CI_JOB_TOKEN" "https://gitlab.com/api/v4/projects"), но отображаются только публичные вклады.

1 Ответ

0 голосов
/ 05 ноября 2019

Вместо токена задания используйте личный токен доступа , чтобы получить доступ к gitlab api.

РЕДАКТИРОВАТЬ: https://gitlab.com/users/GITLAB_USERNAME/calendar.json это не api url, а конечная точка gitlab, поэтому токен gitlab работать не будетit.

Вы можете собрать все свои события, используя личный токен и события api curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.com/api/v4/users/:id/events

To отфильтровать ваши результаты используют параметры в соответствии ствои нужды. Существует гораздо больше данных, чем при сборе с https://gitlab.com/users/GITLAB_USERNAME/calendar.json url, поэтому вам нужно будет их обработать.

...