Как добавить частный репозиторий bitbucket в gradle с помощью bitbucket api v2.0

Мой проект gradle не работает, потому что он имеет некоторые зависимости от репозитория bitbucket, а API-интерфейс bitbucket v1 устарел.

Я много гуглил о том, как перейти на v2, но не нашел хорошего решения.

API v1 в gradle выглядит так:

repositories {
  maven {
        credentials {
            username "$mavenUser"
            password "$mavenPassword"
        }
        url "https://api.bitbucket.org/1.0/repositories/<Team>/<repo>/raw/<branch>"
  }
}

Может быть, глупый комментарий, но вы пытались просто изменить 1.0 на 2.0 в URL-адресе?

Marcus Held 12.06.2019 09:48

@MarcusHeld да, я уже пробовал, чувак. Теперь он отлично работает с принятым ответом.

Kan 20.06.2019 10:51
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
2
1 832
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
repositories {
  maven {
        credentials {
            username "$mavenUser"
            password "$mavenPassword"
        }
        url "https://api.bitbucket.org/2.0/repositories/<Team>/<repo>/src/<branch>"
  }
}

Согласно ссылке API v2, я обновил URL-адрес, и с помощью curl -u username:password https://api.bitbucket.org/2.0/repositories/<Team>/<repo>/src/<branch>/<path> я могу получить необработанные данные, но gradle все еще не работает и всегда получает код состояния 403 с сервера: Запрещено

После явного указания аутентификации basic gradle работает как положено

repositories {
  maven {
        credentials {
            username "$mavenUser"
            password "$mavenPassword"
        }
        authentication {
            basic(BasicAuthentication)
        }
        url "https://api.bitbucket.org/2.0/repositories/<Team>/<repo>/src/<branch>"
  }
}

Ниже приведена документация Gradle If no authentication schemes have been assigned to this repository, a default set of authentication schemes are used based on the repository's transport scheme.

Спасибо за ваш быстрый ответ, мои учетные данные верны без каких-либо проблем. Я разработал это, и, пожалуйста, посмотрите мой обновленный ответ.

ahunigel 12.06.2019 10:50

Можете ли вы запустить задание с помощью -d для вывода отладки и убедиться, что используются правильные учетные данные?

Marcus Held 12.06.2019 10:55

Я обновил ответ, вопрос в том, как gradle использует учетные данные, я не знаю, почему это работает для битбакета API v1, но для API v2 нам, возможно, придется явно указать basic auth

ahunigel 12.06.2019 10:59

я не уверен, почему, но единственный способ заставить его работать - использовать мои учетные данные битбакета (адрес электронной почты и пароль) вместо учетных данных пользователя maven. Основываясь на вашем ответе, я не должен использовать пользователя и пароль maven? @ahunigel

Creeptosis 28.11.2019 09:36

Как вы можете добавить реализацию в build.gradle после того, как вы добавили учетные данные и информацию репозитория? Моя библиотека находится в maven java.

chitgoks 23.01.2022 11:44

Другие вопросы по теме