REST API

Bitbucket Cloud v1 API は廃止予定です

Bitbucket Cloud REST API バージョン 1 は 2018 年 6 月 30 日に廃止予定です。すべての 1.0 API は、2019 年 4 月 12 日に、REST API から完全に削除されます。廃止についての告知をご確認ください。また、バージョン 2.0 の REST API ドキュメントをご確認ください。

オープン標準に基づいた Bitbucket の REST API を使用することで、API にアクセス可能な任意の Web 開発言語を使用してサードパーティ アプリケーションを構築できます。

API を使用することで、ユーザーはアプリケーションにサインインし、ユーザーの代わりに操作を実行することを許可できます。その後、アプリケーションは API を経由して、Bitbucket Cloud のリソース (個人またはチーム アカウント、リポジトリ) や、それらのリソースのさまざまな要素 (チェンジセットやコメントなど) にアクセスできます。

Bitbucket Cloud 用 Atlassian Connect

Bitbucket Cloud との連携を構築できます。

Bitbucket 用 Atlassian Connect を使用することで、Bitbucket Cloud の UI への構築を行うことができます。

このページの内容

関連ページ

連携機能を開発するにあたり、REST アーキテクチャの操作を習得している必要があります。インターネットには、REST に関する多数の優れた資料があります。Bitbucket での REST の実装について理解するには、この概要ページをご参照ください。開始する準備が整ったら、アプリケーションのコンシューマ キーを取得します。

URI 構造とメソッド

All Bitbucket Cloud requests start with the https://api.bitbucket.org/2.0 prefix (for the 2.0 API) and https://api.bitbucket.org/1.0 prefix (1.0 API). The next segment of the URI path depends on the endpoint of the request. For example, using the curl command and the repositories endpoint you can list all the issues on Bitbucket's tutorial repository:

$ curl https://api.bitbucket.org/2.0/repositories/tutorials/tutorials.bitbucket.org

Given a specific endpoint, you can then drill down to a particular aspect or resource of that endpoint. The issues resource on a repository is an example:

$ curl https://api.bitbucket.org/1.0/repositories/tutorials/tutorials.bitbucket.org/issues

エンドポイントやリソースには、一覧のアクション (またはメソッド) が関連付けられています。Bitbucket サービスでは、次の標準 HTTP メソッドがサポートされます。


呼び出し 説明
GET
情報を取得します。
PUT
既存の情報を更新します。
POST
新しい情報を作成します。
削除
既存の情報を削除します。

For example, you can call use the POST action on the issues resource and create an issue on the issue tracker.

コンテンツ長の指定について

You can get a 411 Length Required response. If this happens, the API requires a Content-Length header but the client is not sending it. You should add the header yourself, for example using the curl client:

$ curl -r PUT --header "Content-Length: 0" -u user:pass https://api.bitbucket.org/1.0/emails/rap@atlassian.com

Universally Unique Identifier (UUID)

UUID は、ユーザー、チーム、およびリポジトリ向けに単一の識別子を提供します。UUID は、ユーザー名、チーム名、リポジトリ名のフィールドとは独立しており、このようなフィールドが変更されても同じ値が保持されます。たとえば、ユーザーがユーザー名を変更したり、リポジトリを移動した場合、それらへの ID を使用している呼び出しを修正する必要がありますが、UUID を参照している場合は修正は不要になります。

UUID の例と構造

UUID は、API の 1.0 と 2.0 の両方で、ユーザー、チーム、およびリポジトリに対して利用できます。

In the following examples the following characters are replacements for curly brackets: %7B replaces and %7D replaces }

ユーザー 

ユーザー名での呼び出し

$ curl https://api.bitbucket.org/2.0/users/tutorials
ユーザー名での呼び出しへのレスポンス
{
    "username": "tutorials",
    "website": "https://tutorials.bitbucket.org/",
    "display_name": "tutorials account",
    "uuid": "{c788b2da-b7a2-404c-9e26-d3f077557007}",
    "links": {
        "self": {
            "href": "https://api.bitbucket.org/2.0/users/tutorials"
        },
        "repositories": {
            "href": "https://api.bitbucket.org/2.0/repositories/tutorials"
        },
        "html": {
            "href": "https://bitbucket.org/tutorials"
        },
        "followers": {
            "href": "https://api.bitbucket.org/2.0/users/tutorials/followers"
        },
        "avatar": {
            "href": "https://bitbucket-assetroot.s3.amazonaws.com/c/photos/2013/Nov/25/tutorials-avatar-1563784409-6_avatar.png"
        },
        "following": {
            "href": "https://api.bitbucket.org/2.0/users/tutorials/following"
        }
    },
    "created_on": "2011-12-20T16:34:07.132459+00:00",
    "location": "Santa Monica, CA",
    "type": "user"
}

UUID での呼び出し

$ curl https://api.bitbucket.org/2.0/users/%7Bc788b2da-b7a2-404c-9e26-d3f077557007%7D
UUID での呼び出しへのレスポンス
{
    "username": "tutorials",
    "website": "https://tutorials.bitbucket.org/",
    "display_name": "tutorials account",
    "uuid": "{c788b2da-b7a2-404c-9e26-d3f077557007}",
    "links": {
        "self": {
            "href": "https://api.bitbucket.org/2.0/users/tutorials"
        },
        "repositories": {
            "href": "https://api.bitbucket.org/2.0/repositories/tutorials"
        },
        "html": {
            "href": "https://bitbucket.org/tutorials"
        },
        "followers": {
            "href": "https://api.bitbucket.org/2.0/users/tutorials/followers"
        },
        "avatar": {
            "href": "https://bitbucket-assetroot.s3.amazonaws.com/c/photos/2013/Nov/25/tutorials-avatar-1563784409-6_avatar.png"
        },
        "following": {
            "href": "https://api.bitbucket.org/2.0/users/tutorials/following"
        }
    },
    "created_on": "2011-12-20T16:34:07.132459+00:00",
    "location": "Santa Monica, CA",
    "type": "user"
}


チーム

チーム名での呼び出し

$ curl https://api.bitbucket.org/2.0/teams/1team

UUID での (チーム リポジトリの) 呼び出し

$ curl https://api.bitbucket.org/2.0/teams/%7Baa559944-83c9-4963-a9a8-69ac8d9cf5d2%7D

リポジトリ
リポジトリの UUID を取得した場合、API 呼び出しでのユーザー名やチーム名は不要になります。この場合、空白のフィールドを使用できます。これにより、ユーザー名やチーム名に変更があっても対象のリポジトリを解決できます。

チーム名が 1team、リポジトリ名が moxie の場合

$ curl https://api.bitbucket.org/2.0/repositories/1team/moxie
リポジトリからの応答
{
    "updated_on": "2013-11-08T01:11:03.263237+00:00",
    "size": 33348,
    "is_private": false,
    "uuid": "{21fa9bf8-b5b2-4891-97ed-d590bad0f871}"
}

UUID の場合

With empty field:
$ curl https://api.bitbucket.org/2.0/repositories/%7B%7D/%7B21fa9bf8-b5b2-4891-97ed-d590bad0f871%7D

With team name
$ curl https://api.bitbucket.org/2.0/repositories/1team/%7B21fa9bf8-b5b2-4891-97ed-d590bad0f871%7D

サポート対象バージョン

API には、バージョン 1.0 と 2.0 があります。この 2 つのバージョンは、異なるエンドポイントや機能を持ちます。現在、API 1.0 で提供しているリソースの一部は、2.0 API ではまだ提供されていない場合があります。反対に 2.0 API では、ユーザビリティやパフォーマンスを改善できる複数の機能が提供されています。最初に 2.0 API が使用できるかどうかを確認し、対象のリソースを 2.0 では利用できない場合は 1.0 API を利用することをおすすめします。

サポート対象のエンドポイントおよびそれらのリソース

Bitbucket Cloud は複数のエンドポイントをサポートします。エンドポイントは追加リソースを持つ場合があります。次の表は、エンドポイントと、それらに関連付けられたリソースを示しています。


エンドポイント 説明
group-privileges
グループのリポジトリ権限を管理します。
groups
グループとグループのメンバーシップを管理します。
invitations
ほかのユーザーをリポジトリに招待します。
privileges
自身のリポジトリでの個人ユーザーの権限を管理します。

repositories

リポジトリのリソースを管理します。このエンドポイントは次のリソースをサポートします。
changesets
リポジトリのチェンジセットを管理します。
deploy-keys
Manage ssh keys for deploying product builds.
events
公開リポジトリのイベントを追跡します。
followers
リポジトリをフォローしているアカウントを一覧で取得できます。
issues
課題トラッカーと、それに関連付けられた課題を管理します。
links
Jira、Bamboo、およびカスタム リンク リソースとの連携を管理します。
pullrequests
プル リクエストのコメントに関連付けられたコメントやいいねを管理します。
repository
リポジトリに関連付けられたブランチ、タグ、およびマニフェストを管理します。
services
1 つのアカウントに連携されたサービスを管理します。
src
リポジトリ内の特定のファイルやディレクトリの情報を取得します。
wiki
wiki 内のページの情報を取得します。
user
現在認証されているアカウントのプロファイルを管理します。
users
特定の個人アカウントの関連情報を管理します。このエンドポイントは次のリソースをサポートします。
account
1 つのアカウントの関連情報を取得します。
emails
1 つのアカウントに関連付けられたメール アドレスを管理します。
invitations
1 つのアカウントが送信した招待を管理します。
oauth
1 つのアカウントに関連付けられたコンシューマを管理します。
privileges
チームの権限設定を管理します。
ssh-keys
1 つのアカウントの ssh キーを管理します。
teams
チームの関連情報を取得します。

認証

The Bitbucket Cloud API grants access to public data without authentication. Access to private data requires the caller to authenticate under an account with the appropriate access. For example, an account's administrative data, such as the email address, requires the caller to either authenticate as the account owner or, in the case of a team, authenticate as a team member with administrative access to the team. If you are testing an application, you can use a client such as cURL together with basic authentication (username/password, or if you have two-step verification enabled, username/app password). For example, the following curl call lists the public and private repositories of the buser:

$ curl --user buserbb:2934dfad https://api.bitbucket.org/1.0/user/repositories

Bitbucket と連携するアプリケーションを構築している場合、コンシューマ キーを取得し、OAuth 2.0 フレームワークを使用して認証します。OAuth と Bitbucket の詳細については、このドキュメントの「Bitbucket Cloud での OAuth」をご参照ください。

最終更新日: 2018 年 9 月 26 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.