Ошибка Dependabot с клиентами сервера Bitbucket ::Bitbucket::NotFound
Я пробовал скрипт зависимости от Azure DevOps и не имел больших препятствий (я заметил, что Dependabot выдает ошибку, репо не найдено, когда я использовал токен доступа пользователя, а не токен доступа к системе в ADO), но теперь, пытаясь с корпоративным сервером Bitbucket, я вижу только это ошибка.
Кто-нибудь сталкивался с этой ошибкой?
docker run --rm -v "$(pwd):/home/dependabot/dependabot-script" -w /home/dependabot/dependabot-script -e BITBUCKET_ACCESS_TOKEN=$BITBUCKET_ACCESS_TOKEN -e GITHUB_ACCESS_TOKEN=$GITHUB_ACCESS_TOKEN -e PACKAGE_MANAGER=npm_and_yarn -e PROJECT_PATH=projects/project_name/repos/repo_name bundle exec ruby ./generic-update-script.rb
Ошибка /home/dependabot/dependabot-script/vendor/ruby/2.7.0/gems/dependabot-common-0.142.0/lib/dependabot/clients/bitbucket.rb:170:in `Clients::Bitbucket::NotFound)
2 ответа
На данный момент то, чего вы пытаетесь достичь, похоже, не реализовано в зависимостях.
Я предполагаю , что код в dependabot-core , что предприятие битбакета (под которым я имею в виду битбакет, установленный в вашей компании, а не в облаке) не поддерживается. Прямо внизу файла он читает
def base_url
# TODO: Make this configurable when we support enterprise Bitbucket
"https://api.bitbucket.org/2.0/repositories/"
end
К сожалению, я не нашел дальнейших намеков, если это действительно так.
Описание dependabot-script подразумевает, что вы можете установить URL-адрес API и имя хоста через и . Значения по умолчанию там (api 2.0 и bitbucket.org показывают, что по умолчанию они используют API-интерфейс облака битов, который, как я полагаю, отличается от корпоративного API (по крайней мере, версией).
Я даже попробовал некоторые из URL-адресов, которые собраны в коде зависимого бота, и половина из них работает нормально на корпоративном битбакете, а некоторые нет (например,../pullrequests
который используется в коде, у меня не работает, потому что правильный URL будет../pull-requests
на корпоративном битбакете)
Я также проверил с помощью wireshark, так как я также пытался заставить это работать и обнаружил, что dependabot-script действительно отправляет запросы наbitbucket.org
но не мой корпоративный битбакет, даже когда я установилBITBUCKET_API_URL
иBITBUCKET_HOSTNAME
.
Думаю проблема в:
PROJECT_PATH=projects/project_name/repos/repo_name
Вы должны использовать
PROJECT_PATH=project_name/repo_name