Bitbucket Cloud
kind: bitbucket
On this page
Description
The Bitbucket Cloud scm plugin is used to manage git repositories hosted on Bitbucket Cloud, depending on the stage, it can be used for different purposes
source: Retrieve data from a git repository, such as a file content
condition: Ensure data exist on a git repository, such as a file content
target: Ensure data is up to date on a git repository
Parameters
Name | Type | Description | Required |
---|---|---|---|
branch | string | “branch” defines the git branch to work on. compatible:
default: main remark: depending on which resource references the Bitbucket Cloud scm, the behavior will be different. If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve file(s) from that branch. If the scm is linked to target then Updatecli creates a new “working branch” based on the branch value.
The working branch created by Updatecli looks like “updatecli_ | |
commitmessage | object | “commitMessage” is used to generate the final commit message. compatible:
remark: it’s worth mentioning that the commit message settings is applied to all targets linked to the same scm. | |
body | string | “body” defines the commit body of the commit message as defined by the conventional commit specification. More information on -> https://www.conventionalcommits.org/en/
| |
footers | string | footers defines the footer of the commit message as defined by the conventional commit specification. More information on -> https://www.conventionalcommits.org/en/
| |
hidecredit | boolean | “hideCredit” defines if updatecli credits should be displayed inside commit message body
| |
scope | string | “scope” defines the scope of the commit message as defined by the conventional commit specification. More information on -> https://www.conventionalcommits.org/en/
| |
title | string | “title” defines the title of the commit message as defined by the conventional commit specification. More information on -> https://www.conventionalcommits.org/en/
| |
type | string | “type” defines the type of commit message such as “chore”, “fix”, “feat”, etc. as defined by the conventional commit specification. More information on -> https://www.conventionalcommits.org/en/
| |
directory | string | “directory” defines the local path where the git repository is cloned. compatible:
remark: Unless you know what you are doing, it is recommended to use the default value. The reason is that Updatecli may automatically clean up the directory after a pipeline execution. default:
The default value is based on your local temporary directory like: (on Linux)
/tmp/updatecli/bitbucket/ | |
string | “email” defines the email used to commit changes. compatible:
default: default set to your global git configuration | ||
force | boolean | “force” is used during the git push phase to run compatible:
default: false remark: When force is set to true, Updatecli also recreate the working branches that diverged from their base branch. | |
gpg | object | “gpg” specifies the GPG key and passphrased used for commit signing
| |
passphrase | string | passphrase defines the gpg passphrase used to sign the commit message | |
signingkey | string | signingKey defines the gpg key used to sign the commit message
| |
owner | string | “owner” defines the owner of a repository.
| |
password | string | “password” specifies the credential used to authenticate with Bitbucket Cloud API, it must be combined with “username” The “password” should be app password with “pullrequest:write” scope. “token” and “password” are mutually exclusive remark: A password is a sensitive information, it’s recommended to not set this value directly in the configuration file but to use an environment variable or a SOPS file. The value can be set to
https://github.com/getsops/sops | |
repository | string | repository specifies the name of a repository for a specific owner.
| |
submodules | boolean | “submodules” defines if Updatecli should checkout submodules. compatible: * scm default: true | |
token | string | “token” specifies the credential used to authenticate with Bitbucket Cloud API The “token” is a repository or project access token with “pullrequest:write” scope. “token” and “password” are mutually exclusive remark: A token is a sensitive information, it’s recommended to not set this value directly in the configuration file but to use an environment variable or a SOPS file. The value can be set to
https://github.com/getsops/sops | |
user | string | “user” specifies the user associated with new git commit messages created by Updatecli
| |
username | string | “username” specifies the username used to authenticate with Bitbucket Cloud API | |
workingbranch | boolean | “workingBranch” defines if Updatecli should use a temporary branch to work on.
If set to compatible: * scm default: true |
CommitMessage
Updatecli uses conventional commits as describe on www.conventionnalcommits.org.
The goal is to add human and machine readable meaning to commit messages
By default, Updatecli generates a commit message using the default type "chore" and split long title message into the body like:
Author: olblak <updatecli@updatecli.io>
Date: Tue May 4 15:41:44 2021 +0200
chore: Update key "dependencies[0].version" from file "charts/jenkins/r...
... equirements.yaml"
Made with ❤️️ by updatecli
Example
# updatecli.yaml
name: "Example with Bitbucket Cloud SCM"
pipelineid: bitbucket/scm
scms:
bitbucket:
kind: bitbucket
spec:
owner: "updatecli"
repository: "updatecli"
branch: main
# {{ if (env "BITBUCKET_TOKEN") }}
token: '{{ env "BITBUCKET_TOKEN" }}'
# {{ else if (and (env "BITBUCKET_USER") (env "BITBUCKET_APP_PASSWORD")) }}
username: '{{ env "BITBUCKET_USER" }}'
password: '{{ env "BITBUCKET_APP_PASSWORD" }}'
# {{ end }}
sources:
source-1:
name: "Source 1"
kind: file
scmid: bitbucket
spec:
file: README.md
conditions:
condition-1:
name: "Condition 1"
kind: file
scmid: bitbucket
spec:
file: README.md
targets:
target-1:
name: "Target 1"
kind: file
scmid: bitbucket
spec:
file: README.md