API トークンの使用
API トークンは、ユーザー アクセスのスコープが定義された単一目的のアクセス トークンです (作成時に指定)。これらのトークンは、スクリプト作成、CI/CD ツール、 Bitbucket に接続される開発中のアプリのテストに役立ちます。
Bitbucket API へのアクセスや Git コマンドの実行に使用される API トークンにはスコープが必要です。
Git コマンドで API トークンを使用する
API トークンを使用して Bitbucket Cloud で認証を行うには、API トークンと Bitbucket のユーザー名が必要です。Bitbucket ユーザー名は、Bitbucket の [アカウント設定] ページの [Bitbucket プロファイル設定] に記載されています。
インタラクティブ パスワード プロンプトによる API トークン
この方法では、API トークンが保護されずに URL に保存されるのを防ぎ、Git が Bitbucket Cloud を操作 (git pull
、git push
、git fetch
などのコマンドを実行) するたびにトークンの入力を要求します。
パスワードを求められた場合は、必ず API トークンを入力してください。
インタラクティブ プロンプトを介して API トークンを指定するには、次のコマンドでリポジトリを複製します。
git clone https://{bitbucket_username}@bitbucket.org/{workspace}/{repository}.git
代わりに、静的なユーザー名を使用することもできます。
git clone https://x-bitbucket-api-token-auth@bitbucket.org/{workspace}/{repository}.git
ローカルデバイスにすでに複製されているリポジトリの場合は、次のコマンドでリモート URL をアップデートします。
git remote set-url origin https://{bitbucket_username}@bitbucket.org/{workspace}/{repository}.git
API トークンを URL に含める
API トークンをプレーンテキストとして保護しないで保存したり、Git リモート URL の一部として永続的に保存したりしないことをお勧めします。この方法は、API トークンがビルド ツールの「秘密」変数として安全に保存されている場合に役立ちます。
インタラクティブ パスワード プロンプトなしで API トークンを使用するために、API トークンを URL に含めることができます。例: リポジトリを複製する場合は、次のコマンドを実行します。
git clone https://{bitbucket_username}:{api_token}@bitbucket.org/{workspace}/{repository}.git
代わりに、静的なユーザー名を使用することもできます。
git clone https://x-bitbucket-api-token-auth:{api_token}@bitbucket.org/{workspace}/{repository}.git
ローカルデバイスにすでに複製されているリポジトリの場合は、次のコマンドでリモート URL をアップデートします。
git remote set-url origin https://{bitbucket_username}:{api_token}@bitbucket.org/{workspace}/{repository}.git
Bitbucket API で API トークンを使用する
Bitbucket Cloud の統合またはアプリを構築する際に、可能な場合は OAuth を使用することをお勧めします。Bitbucket Cloud 統合またはアプリの構築については、アトラシアン開発者 - Bitbucket Cloud をご覧ください。
次の例は、Bitbucket Cloud API での認証方法のガイドとして、curl
コマンドで API トークンを使用する方法を示しています。どちらの例も、List commits API を使用して、Bitbucket リポジトリでコミットをクエリしています。Atlassian アカウントのメール アドレスと API トークンの両方が必要です。Atlassian アカウントのメール アドレスは、Bitbucket の [個人設定] ページの [メール エイリアス] にリストされます。
API トークンは、ユーザーの Atlassian アカウント メールとともに、ログイン認証情報として送信できます。次に例を示します。
curl --request POST \
--url 'https://api.bitbucket.org/2.0/repositories/{workspace}/{repository}/commits' \
--user '{atlassian_account_email}:{api_token}' \
--header 'Accept: application/json'
または、Bitbucket のメール アドレスと API トークンが base64 エンコードされた後に、HTTP 認証ヘッダーで送信することもできます。次に例を示します。
my_credentials_after_base64_encoding=`echo -n '{atlassian_account_email}:{api_token}' | base64`
curl --request POST \
--url 'https://api.bitbucket.org/2.0/repositories/{workspace}/{repository}/commits' \
--header "Authorization: Basic $my_credentials_after_base64_encoding" \
--header 'Accept: application/json'
この内容はお役に立ちましたか?