Bitbucket: отправить запрос на получение через командную строку? - PullRequest
43 голосов
/ 04 января 2012

Мне нужно отправить много запросов на получение данных, поэтому я бы предпочел использовать командную строку bash, а не веб-интерфейс bitbucket.

Пример использования: $ git-req username

Вот такой скриптдля Github: http://pastebin.com/F9n3nPuu

Есть ли один для Bitbucket?

Ответы [ 4 ]

44 голосов
/ 17 декабря 2013

Bitbucket с его RESTful API 2.0 поддерживает управление pull-запросами без интерфейса.В CLI вы можете запросить его с CURL.Эта старая версия документации имеет более подробные сведения об интерфейсе.

Получение данных запроса на получение с помощью CURL

Чтобы получить полные данные о конкретном запросе на получение:

$ curl --user s3m3n:bbpassword https://bitbucket.org/api/2.0/repositories/s3m3n/reponame/pullrequests/4

В ответ я получаю JSON с полной информацией о моем запросе № 4 (укажите имя пользователя дважды, пароль и переименование в команде).

Создайте новый запрос извлечения с помощью RESTClient

Для созданияновый запрос на получение, нам нужно предоставить много данных с помощью команды POST, ниже, как это выглядит в моем RESTClient:

RESTClient Firefox

После запуска Bitbucket немедленно показывает запрос на вывод:

Bitbucket screenshot

Создание нового запроса на получение с помощью CURL

Вы можете создать тот же запрос на получение с одним вкладышем:

$ curl -X POST -H "Content-Type: application/json" -u s3m3n:bbpassword https://bitbucket.org/api/2.0/repositories/s3m3n/reponame/pullrequests -d '{ "title": "Merge some branches", "description": "stackoverflow example", "source": { "branch": { "name": "choose branch to merge with" }, "repository": { "full_name": "s3m3n/reponame" } }, "destination": { "branch": { "name": "choose branch that is getting changes" } }, "reviewers": [ { "username": "some other user needed to review changes" } ], "close_source_branch": false }'

Инструмент браузера REST (больше не поддерживается)

Если вы хотите протестировать все возможные методы перехода с API на REST браузер Bitbucket.Он покажет вам все возможные запросы при возврате данных вашего реального репо.

8 голосов
/ 24 февраля 2013

На битбакете есть 2 репозитория, которые могут помочь:

команда Аттлассиана имеет тайник (рубин): ​​https://bitbucket.org/atlassian/bitbucket-server-cli

У Жемао есть bitbucket-cli (python): https://bitbucket.org/zhemao/bitbucket-cli

оба имеют функцию запроса извлечения из командной строки.

3 голосов
/ 30 ноября 2018

Испытано и проверено:

  1. Создайте личный токен доступа, нажав здесь

  2. Сохраните уникальный идентификатор токена,добавить его после «Носитель в заголовке».

Например: «Авторизация: Носитель MDg4MzA4NTcfhtrhthyt / Thyythyh»

Полный пример JSON здесь :

Шаг1 для ввода реквизитов и необходимых заголовков

Попробуйте запустить его Шаг 2

Вывод на BitBucket, вы сможете увидеть запрос извлечения Окончательный вывод

Синтаксис командной строки:

curl -i -X POST    -H "Authorization:Bearer MDg4MzA4NTk/TlMSS6Ea"    -H "X-Atlassian-Token:no-check"    -H "Content-Type:application/json"    -d '{"description":"1. Changes made 2. Changes made 3. Hello hanges","closed":false,"fromRef":{"id":"refs\/heads\/branch","repository":{"name":"From Repository ","project":{"key":"ProjectName"},"slug":"From Repository "}},"state":"OPEN","title":"Merge changes from branch to master","locked":false,"reviewers":[],"open":true,"toRef":{"id":"refs\/heads\/master","repository":{"name":"RepoName","project":{"key":"ProjectName"},"slug":"RepoName"}}}'  'https://bitbucket.agile.com/rest/api/1.0/projects/projectName/repos/repoName/pull-requests'
3 голосов
/ 16 февраля 2018

Я не был слишком удовлетворен ответами в этой теме, поэтому я создал пакет для него:

https://www.npmjs.com/package/bitbucket-pr

Инструкции:

npm i -g bitbucket-pr

... Перейдите в папку, в которой вы хотите создать пул-запрос ...

bitbucket-pr

...