With the BitBucket API, you can programmatically interact with BitBucket, via REST calls. This allows you to build apps and integrations on top of BitBucket, customize and automate your workflows, and much more.
Here are some examples of what you can build with the BitBucket API:
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
bitbucket: {
type: "app",
app: "bitbucket",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.bitbucket.org/2.0/user`,
headers: {
Authorization: `Bearer ${this.bitbucket.$auth.oauth_access_token}`,
},
})
},
})
Emit new event when a new commit is pushed to a branch. See docs here
Emit new event when a new pull request is created in a repository. See docs here
Emit new event when a new branch is created. See docs here
Emit new event when a commit receives a comment. See docs here
Emit new event when an event occurs from any repository belonging to the user. See docs here
BitBucket uses OAuth authentication. When you connect your BitBucket account, Pipedream will open a popup window where you can sign into BitBucket and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any BitBucket API.
Pipedream requests the following authorization scopes when you connect your account:
account
account:write
team:write
repository:write
pullrequest:write
snippet:write
issue:write
email
wiki
webhook
GET
https://bitbucket.org/site/oauth2/authorize
?
client_id={{oauth.client_id}}
&
state={{oauth.state}}
&
redirect_uri={{oauth.redirect_uri}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://bitbucket.org/site/oauth2/access_token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=authorization_code
&
code={{oauth.code}}
&
redirect_uri={{oauth.redirect_uri}}
POST
https://bitbucket.org/site/oauth2/access_token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}