Use this action to check out a Git repository under $CLOUDBEES_WORKSPACE
, to allow your workflow to access the repository.
Check out a repository from any of the following source code management (SCM) providers:
-
GitHub
-
Bitbucket
-
Bitbucket Data Center
Your authentication for the checked-out repository is persisted in the local Git config file by default, so your scripts can run authenticated Git commands in any container image that has the git
executable.
All CloudBees action repositories are listed at CloudBees, Inc. on GitHub. |
Workflow run tokens
The CloudBees workflow run token (cloudbees.api.token
) is used to fetch an app access token from the SCM provider if neither a personal access token nor an SSH key are specified.
|
Inputs
Input name | Data type | Required? | Description |
---|---|---|---|
|
String |
Yes |
Repository name with owner, for example, |
|
String |
Required only if you are checking out a repository from an SCM provider different from the provider that hosts your CloudBees platform workflow. |
Specify |
|
String |
Required only if you are checking out a repository from Bitbucket or Bitbucket Data Center, and that is not the SCM provider hosting your platform workflow. Unless specified, the base URL uses environment defaults to fetch from the same instance the workflow is running from. |
The base URL, for example, |
|
String |
Required only if you are checking out a repository from GitHub, and that is not the SCM provider hosting your platform workflow. Unless specified, the base URL uses environment defaults to fetch from the same instance the workflow is running from. |
The base URL, for example, |
|
Boolean |
No |
Default is |
|
Number |
No |
Number of commits to fetch.
Default is |
|
Boolean |
No |
Default is |
|
String |
No |
The relative path to place the repository under |
|
Boolean |
No |
Default is |
|
String |
No |
The branch, tag or SHA to check out. The action uses your default branch, unless you check out a repository that is triggered from a workflow, in which case it defaults to the reference or SHA for that event. |
|
Boolean |
No |
Default is |
|
String |
No |
SSH key used to fetch the repository. The SSH key is configured with the local Git config, which enables your scripts to run authenticated Git commands. |
|
String |
No |
Known hosts in addition to the user and global host key database.
Use the utility |
|
Boolean |
No |
Default is |
|
Boolean |
No |
Default is |
|
String |
No |
The PAT used to fetch the repository. The PAT is configured with the local Git config, which enables your scripts to run authenticated Git commands. |
|
String |
No |
The authentication type of the token being used.
Supported values are |
Usage examples
The following basic example uses this action to check out a GitHub repository:
- name: Check out my GitHub repo uses: https://github.com/cloudbees-io/checkout@v1 (1) with: repository: my-name/my-repo-name
1 | The action’s full URL is not required here, because the action and workflow both reside with the same SCM provider. However, CloudBees recommends that you clearly identify the repository with the full action URL. |
The following example uses this action to check out a Bitbucket (cloud) or Bitbucket Data Center repository:
- name: Check out my Bitbucket repo uses: https://github.com/cloudbees-io/checkout@v1 (1) with: repository: my-name/my-repo-name
1 | You must use the action’s full URL for checking out Bitbucket or Bitbucket Data Center repositories in this case, because the action repository is hosted on GitHub. |
The following example uses this action to check out the test
branch of a Bitbucket repository for a workflow hosted in a GitHub repository:
- name: Check out Bitbucket repo for GitHub workflow uses: https://github.com/cloudbees-io/checkout@v1 with: provider: bitbucket repository: my-name/my-repo-name bitbucket-server-url: https://bitbucket.org ref: test token: ${{ secrets.MY_BITBUCKET_TOKEN }}
The following example uses this action to check out the full history of the default branch of a GitHub repository, using an SSH key. The authentication does not persist.
- name: Check out GitHub repo uses: https://github.com/cloudbees-io/checkout@v1 with: repository: my-name/my-repo-name github-server-url: https://github.com ssh-key: {{ secrets.MY_SSH_KEY }} persist-credentials: false fetch-depth: 0
The following example uses this action to check out the last commit of the default branch of a GitHub repository, using the CloudBees workflow run token. Submodules are recursively checked out.