Je dois envoyer beaucoup de demandes d'extraction. Je préfère utiliser la ligne de commande bash que l'interface Web de bitbucket.
Exemple d'utilisation: $ git-req username
Voici un tel script pour Github: http://Pastebin.com/F9n3nPuu
Y a-t-il un pour Bitbucket?
Bitbucket avec son RESTful API 2.0 supporte la gestion des requêtes pull sans interface. Dans CLI, vous pouvez le demander avec CURL. Cette ancienne version de la documentation présente de meilleurs détails d’interface.
Pour obtenir des données complètes sur une demande d'extraction spécifique:
$ curl --user s3m3n:bbpassword https://bitbucket.org/api/2.0/repositories/s3m3n/reponame/pullrequests/4
En retour, j'obtiens JSON avec toutes les informations sur ma demande d'extraction n ° 4 (indiquez votre nom d'utilisateur deux fois, votre mot de passe et votre nom de serveur en ordre).
Pour créer une nouvelle demande d'extraction, nous devons fournir beaucoup de données avec la commande POST, ci-dessous à quoi cela ressemble dans mon RESTClient:
Après le lancement, Bitbucket affiche immédiatement la demande de tirage:
Vous pouvez toujours créer la même demande de tirage avec une seule doublure:
$ 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 }'
Si vous souhaitez tester toutes les méthodes possibles de l'API, passez à l'outil de navigation REST de Bitbucket. Il vous montrera toutes les requêtes possibles tout en renvoyant les données de votre référentiel réel.
Il y a 2 dépôts sur bitbucket qui pourraient aider:
l'équipe Attlassian a stash (Ruby): https://bitbucket.org/atlassian/bitbucket-server-cli
Zhemao a bitbucket-cli (python): https://bitbucket.org/zhemao/bitbucket-cli
les deux ont la fonctionnalité de demande de traction de la ligne de commande.
Je n'étais pas trop satisfait des réponses dans ce fil de discussion, alors j'ai créé un paquet pour cela:
https://www.npmjs.com/package/bitbucket-pr
Instructions:
npm i -g bitbucket-pr
... Allez dans le dossier où vous voulez créer une demande de pull ...
bitbucket-pr
Essayé et testé :
Générez un jeton d'accès personnel en cliquant sur ici
Enregistrez l'identifiant de jeton unique, ajoutez-le après "Le porteur dans l'en-tête".
Par exemple: "Autorisation: porteur MDg4MzA4NTcfhtrhththyt/Thyythyh"
Échantillon JSON complet ici :
Étape 1 pour entrer les détails et les en-têtes nécessaires
Essayez de le lancer Étape 2
Sortie sur BitBucket, vous pourrez voir la demande d'extraction Sortie finale
Syntaxe de ligne de commande:
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'