Bitbucket: отправить запрос на перенос через командную строку?
Мне нужно отправить много запросов на перенос, поэтому я предпочел бы использовать командную строку bash, чем веб-интерфейс bitbucket.
Пример использования: $ git-req username
Вот такой script для Github: http://pastebin.com/F9n3nPuu
Есть ли один для Bitbucket?
Ответы
Ответ 1
Bitbucket с ним RESTful API 2.0 поддерживает управление тянуть запросы без интерфейса. В 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. Он покажет вам все возможные запросы, возвращая ваши реальные данные репо.
Ответ 2
Есть два репозитория на битбакете, которые могут помочь:
Команда Attlassian имеет stash (ruby): https://bitbucket.org/atlassian/bitbucket-server-cli
Zhemao имеет bitbucket-cli (python): https://bitbucket.org/zhemao/bitbucket-cli
оба имеют функцию запроса запроса от командной строки.
Ответ 3
Я не был доволен ответами в этой теме, поэтому я создал для него пакет:
https://www.npmjs.com/package/bitbucket-pr
Инструкции:
npm я -g bitbucket-pr
... Перейдите в папку, в которой вы хотите создать запрос на перенос...
bitbucket-pr
Ответ 4
Пробовал и тестировал:
-
Создайте токен доступа, нажав здесь.
-
Сохраните уникальный идентификатор токена, добавьте его после "Значок несущей в заголовке".
Например: "Авторизация: носитель 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'