Bitbucket: ¿Enviar una solicitud de extracción a través de la línea de comandos?


Tengo que enviar muchas solicitudes de extracción, así que prefiero usar la línea de comandos bash que la interfaz web de bitbucket.

Ejemplo de uso: $ git-req username

Aquí está un script para Github: http://pastebin.com/F9n3nPuu

Hay uno para Bitbucket?

Author: Nicolas Raoul, 2012-01-04

3 answers

Hay 2 repositorios en bitbucket que podrían ayudar:

El equipo Attlassiano tiene stash (ruby): https://bitbucket.org/atlassian/bitbucket-server-cli

Zhemao tiene bitbucket-cli (python): https://bitbucket.org/zhemao/bitbucket-cli

Ambos tienen la función pull request desde la línea de comandos.

 7
Author: karojosh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-15 07:59:24

Bitbucket con su RESTful API 2.0 admite la administración de pull requests sin interfaz. En CLI puedes solicitarlo con CURL. Esta versión anterior de la documentación tiene mejores detalles de interfaz.

Obtener datos de solicitud de extracción con CURL

Para obtener datos completos sobre una solicitud de extracción específica:

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

A cambio recibo JSON con información completa sobre mi pull request #4 (ponga su nombre de usuario dos veces, contraseña y reponame en el comando).

Crear nuevo pull request con RestClient

Para crear una nueva pull request necesitamos proporcionar una gran cantidad de datos con el comando POST, a continuación cómo se ve en mi RestClient:

RestClient Firefox

Después de disparar Bitbucket muestra la solicitud de extracción inmediatamente:

Bitbucket captura de pantalla

Crear una nueva solicitud de extracción con CURL

Todavía puedes crear la misma pull request con un liner:

$ 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 browser tool (descontinuado)

Si quieres probar todo lo posible métodos de API hop to REST browser tool de Bitbucket. Le mostrará todas las solicitudes posibles mientras devuelve los datos de su repositorio real.

 38
Author: s3m3n,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-13 06:39:33

No estaba muy satisfecho con las respuestas en este hilo, así que creé un paquete para ello:

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

Instrucciones:

npm i -g bitbucket-pr

... Vaya a la carpeta donde desea crear una solicitud de extracción ...

bitbucket-pr

 2
Author: Karamell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-16 13:15:10