ビルド システムを Bitbucket Cloud と連携する

ビルド システムやベンダーが Bitbucket Cloud と既に連携している可能性があります。連携済みの場合は、次の図のように、ビルドをトリガーする各コミットでビルドのステータスを確認できます。

ビルドのステータスが表示されない場合、ビルド ツールでスクリプトを実行できるのであれば、ビルドを独自に連携できます。連携するには、Bitbucket でコミットを更新するビルドの最後の手順の後にスクリプトを追加します。

以下の Python スクリプトは、最後のビルド ステップに追加する処理の例を提供します。このスクリプトは、ツールの更新が環境変数に基づくのか、スクリプト内で手動で入力できるかに応じて、次のフィールドが含まれます

フィールド 更新方法 説明
key ビルド The key that distinguishes the build status from other statuses associated with the same commit. The script uses the example of BUILD_ID.
state ビルド、またはスクリプト内で手動

An indication of the status of the commit. Because the script runs after the build, the status will be either SUCCESSFUL or FAILED.

ビルド システムに応じて、ステータスを提供する環境変数を使用するか、ビルドの出力内容に応じて (既に含まれるステータスを使用して) 実行される 2 つの個別スクリプトを作成することができます。

name ビルド The name of the build. The script uses the example of JOB_NAME.
url ビルド

The URL to the page with details of the build. The script uses the example of BUILD_URL.

description ビルド、またはスクリプト内で手動 A description of the build. Depending on your build system, you can either use an environment variable to provide the description or add a description to the script before it runs. The script uses the example of The build passed.
owner スクリプト内で手動

The account of the repository owner. The script uses the example of emmap1.

For more information about the api_url, see the statuses/build Resource.

repo_slug

スクリプト内で手動

The repository name. The script uses the example of MyRepo.

For more information about the api_url, see the statuses/build Resource.

revision ビルド

The SHA1 value for the commit with the build status. The script uses the example of GIT_COMMIT.

For more information about the api_url, see the statuses/build Resource.

auth スクリプト内で手動 Your authentication information. You can enter your username and password. However, if your repository is part of a team, you can still enter your username and password, or you can enter your team name and API key. The script users the example of auth_user and auth_password.
ビルドの最後のスクリプトの例
#!/usr/bin/env python

import os
import requests

# Use environment variables that your CI server provides to the key, name,
# and url parameters, as well as commit hash. (The values below are used by
# Jenkins.)
data = {
    'key': os.getenv('BUILD_ID'),
    'state': 'SUCCESSFUL',  # or 'FAILED' for a script that runs when the build fails
    'name': os.getenv('JOB_NAME'),
    'url': os.getenv('BUILD_URL'),
    'description': 'The build passed.'
}

# Construct the URL with the API endpoint where the commit status should be
# posted (provide the appropriate owner and slug for your repo).
api_url = ('https://api.bitbucket.org/2.0/repositories/'
           '%(owner)s/%(repo_slug)s/commit/%(revision)s/statuses/build'
           % {'owner': 'emmap1',
              'repo_slug': 'MyRepo',
              'revision': os.getenv('GIT_COMMIT')})

# Post the status to Bitbucket. (Include valid credentials here for basic auth.
# You could also use team name and API key.)
requests.post(api_url, auth=('auth_user', 'auth_password'), json=data)
最終更新日: 2015 年 12 月 1 日

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

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