services リソース

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

Bitbucket Cloud v1 APIs are deprecated

Bitbucket Cloud REST API version 1 is deprecated effective 30 June 2018. All 1.0 APIs will be removed from the REST API permanently on 31 December 2018. Read the deprecation notice. Or you can jump right to the version 2.0 REST API documentation.

概要

Bitbucket は、特定のイベントに対応して実行される一連のブローカー を経由して、外部サービス (hook) と連携します。ブローカーは、イベントの情報を受け取って 1 つ以上のアクションを実行する Python スクリプトです。たとえば、Bamboo と連携するための Bamboo ブローカーがあります。Bitbucket チームはさまざまなブローカーを開発しています。サードパーティ ベンダーも、複数のブローカーを開発しています。

Bitbucket の services リソースでは、リポジトリのブローカーを追加、削除、および構成するための機能を提供します。このリソースのすべてのメソッドで、呼び出し元の認証が必要です。サービスは次の構造を持ちます。

{
        "id": 190807,
        "service": {
            "fields": [
                {
                    "name": "Password",
                    "value": ""
                },
                {
                    "name": "Username",
                    "value": ""
                },
                {
                    "name": "Discussion URL",
                    "value": ""
                }
            ],
            "type": "Basecamp"
        }
    }

services 構造のフィールドは次のとおりです。

フィールド 説明
ID サービスの一意の ID を表す、Bitbucket によって割り当てられた整数。
サービス サービスを説明するプロファイル。

フィールド サービスに関連付けられた各パラメータの namevalue の組み合わせを含む、パラメータ配列。

タイプ サポート対象のサービスの 1 つ。type では大文字と小文字は区別されません。

次のサービスがサポートされます。

名前 説明とパラメータ
POST Bitbucket は、指定されたサービス URL への POST を行います。ユーザーがリポジトリへのプッシュを行うと、サービスは POST を受け取ります。
URL
Bitbucket の更新メッセージの送信先の URL。
FogBugz バグ トラッキング サービス。このサービスには次のパラメータがあります。
Repository ID
FogBugz リポジトリの ID。
CVSSubmit URL
Bitbucket の更新メッセージの送信先の URL を入力します。
Basecamp
Web ベースのプロジェクト管理アプリケーション。
パスワード
Basecamp のパスワード。
Discussion URL
Bitbucket の更新メッセージの送信先の URL を入力します。
ユーザ名
Basecamp のユーザー名。
Lighthouse
シンプルな課題トラッキング システム。
プロジェクト ID
プロジェクトの ID を数値形式で入力します。これは、Lighthouse のプロジェクトの URL から取得できます。
たとえば、Lighthouse プロジェクトの URL が次の形式だとします。
XXXXX.lighthouseapp.com/projects/00000-yourproject/overview
この場合、プロジェクト ID は 00000 になります。
API キー
Lighthouse で作成した API トークン (前述) を入力します。
Subdomain
Lighthouse のアカウント名を入力します。
たとえば、Lighthouse プロジェクトの URL が次のとおりだとします。
XXXXX.lighthouseapp.com/projects/00000-yourproject/overview
この場合、XXXXX がサブドメインになります。
課題
ユーザーがコミット メッセージから Bitbucket の課題トラッカーの課題を参照できます。Bitbucket では 2012 年 8 月より後に新しく作成された課題トラッカーに対してこのサービスが自動的に適用されます。このサービスにはパラメータはありません。
メール アドレス
プッシュされたチェンジグループそれぞれについて、指定されたメール アドレスにメール メッセージを送信することを Bitbucket に許可します。
メール アドレス 送信先のメール アドレス。
diff
リポジトリが更新されたときに指定したメール アドレスにメール メッセージを送信するよう Bitbucket をセットアップします。
メール アドレス
Bitbucket がメール メッセージを送信するメール アドレス。
Rietveld

 
コード レビュー ツール。
メール アドレス

Rietveld サイトの URL。既定値は次のとおりです: http://reitveld-bitbucket.appspot.com/

パスワード
Rietveld のユーザー パスワード。
URL
Rietveld のメール アドレス。
Superfeeder
Superfeeds はリアルタイムのフィード パース クラウド サービスです。このサービスではパラメータは不要です。
Geocommit
Geocommit はコミットに位置情報を追加するサービスです。
Pivotal Tracker
アジャイル プロジェクト管理ツール。
Token
トラッカーはトークン方式を使用して API ユーザーの認証を行い、プロジェクトでのユーザーのメンバーシップに応じてプロジェクトおよびストーリーへのアクセス制御を行います。トークンを生成するには、My Profile ページで [Create New Token] リンクを使用します。
Twitter
Twitter サービスを API 経由で追加できますが、three-legged OAuth 認証が必要になるため、GUI での構成が必要です。詳細については「Twitter サービスの管理」をご参照ください。
シークレット
Twitter が生成した秘密キー。
Token
Twitter が生成したトークン。
形式
Twitter の更新形式。


リポジトリのサービス一覧の取得

リポジトリに存在するサービスの一覧を取得します。

GET https://api.bitbucket.org/1.0/repositories/{accountname}/{repo_slug}/services
ここをクリックして展開...
[
    {
        "id": 3,
        "service": {
            "fields": [
                {
                    "name": "Email",
                    "value": "mcatalbas@atlassian.com"
                }
            ],
            "type": "Email"
        }
    },
    {
        "id": 4,
        "service": {
            "fields": [
                {
                    "name": "URL",
                    "value": "http://example.com/post"
                }
            ],
            "type": "POST"
        }
    }
]

リポジトリに設定された 1 つのサービスの取得

リポジトリに設定された 1 つのサービスのプロファイルを返します。この呼び出しを使用するにはサービス ID を取得している必要があります。

GET https://api.bitbucket.org/1.0/repositories/{accountname}/{repo_slug}/services/{id}
ここをクリックして展開...
[
    {
        "id": 4,
        "service": {
            "fields": [
                {
                    "name": "URL",
                    "value": "http://example.com/post"
                }
            ],
            "type": "POST"
        }
    }
]


新しいサービスの投稿

リポジトリにサービスを追加します。POST データではサービスの type のみが要求されます (サービスの type では大文字と小文字は区別されません)。任意ですべてのサービス パラメータを設定することもできます。サービス フィールドは後から更新することもできます。POST サービスを作成する呼び出しの例を示します。

curl -u tutorials:8798987 -X POST https://api.bitbucket.org/1.0/repositories/tutorials/testrepo/services/-d "type=POST&URL=https%3A%2F%2Fbitbucket.org/post"
POST https://api.bitbucket.org/1.0/repositories/{accountname}/{repo_slug}/services/ --data "type=value&parameter=value&..."
ここをクリックして展開...
{
    "id": 5,
    "service": {
        "fields": [
            {
                "name": "URL",
                "value": "https://bitbucket.org/post"
            }
        ],
        "type": "POST"
    }
}

 

サービスへの変更の投稿

サービスを更新するには、URL にリポジトリ サービスの id を含む PUT リクエストを作成します。各パラメータは個別に渡します。サービスのすべてのパラメータを含める必要があります。パラメータが不足している場合や、無効なパラメータを渡した場合、PUT ではサービスのすべての値が削除されます。

例:

$ curl --request PUT --user mcatalbas:password https://api.bitbucket.org/1.0/repositories/mcatalbas/test/services/5/--data "URL=https://bitbucket.org/new_post"
PUT https://api.bitbucket.org/1.0/repositories/{accountname}/{repo_slug}/services/{id} --data "parameter=value"  --data "parameter=value" ...
ここをクリックして展開...
{
    "id": 5,
    "service": {
        "fields": [
            {
                "name": "URL",
                "value": "https://bitbucket.org/new_post"
            }
        ],
        "type": "POST"
    }
}


サービスの削除

サービスを削除します。呼び出し元は、削除するサービスの id を提供する必要があります。次のようになります。

$ curl --request DELETE --user mcatalbas:password https://api.bitbucket.org/1.0/repositories/mcatalbas/test/services/5/.
最終更新日 2018 年 6 月 14 日

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

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