POST サービスの管理

非推奨

Bitbucket Cloud の webhook、接続統合フレームワーク、およびメール通知により、新しいサービス連携の作成は非推奨となりました。

リポジトリ管理者はリポジトリに POST サービスを追加できます。Bitbucket Cloud では、指定した URL にサービスを POST できます。Bitbucket では、HTTPS と BASIC 認証がサポートされます。たとえば、次の形式の URL を使用できます。

https://user:password@server:port/path/

POST リクエストは、ファイアウォール情報のページで案内されている IP アドレスから送信されます。これらの IP アドレスからの接続を許可するようにファイアウォールを構成する必要がある場合があります。

ユーザーがリポジトリへのプッシュを行うと、サービスは POST を受け取ります。POST のコンテンツ ヘッダーには application/x-www-form-urlencoded タイプが含まれます。このサービスは、HTTP の公開/サブスクライブ サービスと似た挙動を持ちます。ペイロードでは、実際のペイロードの先頭に payload= が付与されます。ペイロード は、URL エンコードされたコンテンツです。

POST サービスのセットアップ

POST サービスを手動でセットアップすることも、アプリケーションからのサービス作成を自動化することもできます。

リポジトリ管理画面からの手動操作

  1. Go to the repository's  settings.
  2. 左側のナビゲーションにある [サービス] をクリックします。
    サービス ページが表示されます。
  3. サービスのドロップダウン リストから [POST] を選択します。
  4. [サービスの追加] をクリックします。
    [POST] サービスに新しいセクションが表示されます。
  5. Bitbucket の更新メッセージの送信先の URL を入力します。

  6. [保存] をクリックします。

他のアプリケーションから自動的に入力

Bitbucket Cloud と連携していて、ユーザー向けのサービスを簡単に追加したい場合、2 つの方法でこれを自動化できます。ユーザーに、次のような構造の URL を送信します。

https://bitbucket.org/{username}/{repo_slug}/admin/hooks?service=POST&url={your custom url}

OAuth を使用しているか、BASIC 認証を利用している場合、API を使用して同じ内容を実現できます。

https://api.bitbucket.org/1.0/repositories/{username}/{repo_slug}/services/-data "type=POST&URL=https%3A%2F%2Fwww.test.com"

データの POST

ユーザーがリポジトリへのプッシュを行うと、Bitbucket は提供された URL への POST を行います。POST リクエストのボディには、変更箇所などのリポジトリ情報、最近のコミットの一覧、プッシュを行ったユーザーが含まれます。 

Mercurial
{
    "canon_url": "https://bitbucket.org", 
    "commits": [
        {
            "author": "marcus", 
            "branch": "featureA", 
            "files": [
                {
                    "file": "somefile.py", 
"type": "modified"
                }
            ], 
            "message": "Added some featureA things", 
            "node": "d14d26a93fd2", 
            "parents": [
                "1b458191f31a"
            ], 
            "raw_author": "Marcus Bertrand <marcus@somedomain.com>", 
"raw_node": "d14d26a93fd28d3166fa81c0cd3b6f339bb95bfe", 
            "revision": 3, 
            "size": -1, 
            "timestamp": "2012-05-30 06:07:03", 
            "utctimestamp": "2012-05-30 04:07:03+00:00"
        }
    ], 
    "repository": {
        "absolute_url": "/marcus/project-x/", 
        "fork": false, 
        "is_private": true, 
        "name": "Project X", 
        "owner": "marcus", 
        "scm": "hg", 
        "slug": "project-x", 
        "website": ""
    }, 
    "user": "marcus"
}
Git
{
    "canon_url": "https://bitbucket.org", 
    "commits": [
        {
            "author": "marcus", 
            "branch": "master", 
            "files": [
                {
                    "file": "somefile.py", 
"type": "modified"
                }
            ], 
            "message": "Added some more things to somefile.py\n", 
"node": "620ade18607a", 
            "parents": [
                "702c70160afc"
            ], 
            "raw_author": "Marcus Bertrand <marcus@somedomain.com>", 
"raw_node": "620ade18607ac42d872b568bb92acaa9a28620e9", 
            "revision": null, 
            "size": -1, 
            "timestamp": "2012-05-30 05:58:56", 
            "utctimestamp": "2012-05-30 03:58:56+00:00"
        }
    ], 
    "repository": {
        "absolute_url": "/marcus/project-x/", 
        "fork": false, 
        "is_private": true, 
        "name": "Project X", 
        "owner": "marcus", 
        "scm": "git", 
        "slug": "project-x", 
        "website": "https://atlassian.com/"
    }, 
    "user": "marcus"
}

サービスで問題がある場合、「Bitbucket サービスのトラブルシューティング」をご覧ください。
最終更新日: 2017 年 2 月 7 日

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

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