изменение статуса отсутствует в комментариях - PullRequest
0 голосов
/ 22 января 2020

Поскольку bitbucket прекращает поддержку Mercurial, я работаю над программой, которая автоматизирует перемещение проектов в sourceforge, которая (до сих пор) поддерживает Mercurial.

Используя пример кода API 2.0 для перечисления репозиториев в bitbucket, я обнаружил, что информация репо, загруженная из разбитого на страницы результата JSON, содержит ссылки на другую информацию (неинтересные ссылки сокращены до .... ):

links:
  avatar: ....
  branches: ....
  clone: ....
  commits: ....
  downloads: {href: https://api.bitbucket.org/2.0/repositories/user/slug/downloads}
  forks: ....
  hooks: ....
  html: ....
  issues: {href: https://api.bitbucket.org/2.0/repositories/user/slug/issues}
  pullrequests: .... 
  self: ....
  source: ....
  tags: ....
  watchers: ....

Используя ссылки, я могу автоматизировать получение всех загрузок и всех вопросов. Сам ртутный репозиторий, конечно, может быть вытащен и сдвинут довольно легко.

В каждом выпуске также есть ссылки:

links:
  attachments: {href: https://api.bitbucket.org/2.0/repositories/user/slug/issues/1/attachments}
  comments: {href: https://api.bitbucket.org/2.0/repositories/user/slug/issues/1/comments}
  html: ....
  self: ....
  vote: ....
  watch: ....

У меня нет возможности сопоставить пользователя bitbucket с пользователем sourceforge, но я могу добавить отдельные комментарии в sourceforge, включая информацию об их оригинале. плакат в текстовом виде.

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

Нужно ли мне разбирать отдельные проблемы на сайте bitbucket, чтобы получить изменился статус информация, что там можно увидеть?

enter image description here

1 Ответ

0 голосов
/ 22 января 2020

Просматривая JSON, который предоставляется при экспорте проблем из bitbucket, он видел следующие ключи верхнего уровня:

attachments:
comments:
components: 
issues:
logs:
meta:
milestones: 
versions: 

, а раздел logs фактически содержит информацию об изменении состояния. Попытка с URL-адресом формы

https://api.bitbucket.org/2.0/repositories/user/slug/issues/1/logs

, но это не сработало.

Хотя я мог автоматизировать извлечение экспорта и журналов из JSON из экспортированного zip-файла, я наконец наткнулся на эту информацию в документации. Таким образом, URL для использования будет

https://api.bitbucket.org/2.0/repositories/user/slug/issues/1/changes

Первая запись изменений - это создание, так что это менее интересно. Остальные записи пересекаются с комментариями. Поскольку изменения включают в себя текст комментария (если есть), вы можете перезаписать комментарии более полной информацией об изменениях, основанной на отметке даты и времени создания (которая кажется равной микросекунде).

...