Bitbcketのコマンドラインツール「bitbucket-cli」を使おうとしたけど動かなかった話

Bitbucket git コマンド サービス

Bitbcketのコマンドラインツール「bitbucket-cli」を使えばウェブコンソールを開かなくてもプルリクエストを出したりできる…と聞きましたができませんでした。

zhemao / bitbucket-cli — Bitbucket

このコマンドを紹介している記事がネット上で多く見つかりますが、現状(2020年2月時点)では動かなくなっている事をお伝えするため記事にします。

bitbucket-cliをインストールする

pipでインストールできます。

python3には対応していないようなので、python2の環境でインストールする必要があります。

# pip2 install bitbucket-cli

pipのインストール方法はこちら

ちなみにpython3の環境で動かそうとすると以下のような出力になります。

# bb --help
Traceback (most recent call last):
  File "/usr/local/bin/bb", line 5, in <module>
    from bitbucket.cli import run
  File "/usr/local/lib/python3.5/dist-packages/bitbucket/__init__.py", line 1, in <module>
    from .repositories import *
  File "/usr/local/lib/python3.5/dist-packages/bitbucket/repositories.py", line 25
    print r.content
          ^
SyntaxError: Missing parentheses in call to 'print'

bitbucket-cliの使い方

コマンドは以下のフォーマットで使います。

bitbucket  [options]
または
bb  [options]

APIバージョンが古くなっていて動かない

動かそうとすると以下のようなエラーになります。

# bb clone --username ユーザー名 --protocol ssh zhemao bitbucket-cli
password:

Request Error 410: gone
{"type": "error", "error": {"message": "Resource removed", "detail": "This API is no longer supported.\n\nFor information about its removal, please refer to the deprecation notice at: https://developer.atlassian.com/cloud/bitbucket/deprecation-notice-v1-apis/"}}

エラーメッセージの内容としては以下です。

このAPIはサポートされなくなりました。削除については、https://developer.atlassian.com/cloud/bitbucket/deprecation-notice-v1-apis/の廃止通知を参照してください。

ということで、内部で使っているAPIが使えなくなっているようです。

下記サイトでAPI version1が廃止された旨が書かれています。

Deprecation notice – Bitbucket Cloud REST API version 1 is deprecated effective 30 June 2018

プルリクエストは401エラーになり送れない

pullrequest comments APIについてはAPIバージョン2でも引き継がれているようなので、プルリクエストを送るだけなら可能ではないかと思い試してみました。

# bb pull_request --owner xxxx test master
Request Error 401: unauthorized

401エラーになってしまいました。

そもそもssh接続に対応してないのかもしれません。

2020年2月時点の課題

BItbucketのリポジトリでAPIバージョン1が削除されたため動かなくなったという課題が上がっていますが、2020年2月時点で修正はされていないようです。

zhemao / bitbucket-cli / 課題 / #34 – API no longer supported — Bitbucket

Bitbucketをコマンドラインで操作したければ自分でAPIバージョン2に対応したツールを開発するしかなさそうです。

あるいは他に対応しているツールがあるのかも。

以上です。

コメント/ピンバック

タイトルとURLをコピーしました