# BitBucket Integration

### Introduction <a href="#introduction" id="introduction"></a>

`BitBucket` is a Git-based source code repository hosting service owned by Atlassian. It provides runners that allows you to run builds in Pipelines on your own infrastructure.

{% hint style="info" %}
The following configuration examples show how to install & run the scanner using an API Token stored as a secret named `XYGENI_TOKEN`. See [Generate Xygeni API Token for Scanner](https://docs.xygeni.io/xygeni-administration/profile#generate_token_for_scanner-1) or ask your Xygeni administrator to generate it.

For registering a new secret in BitBucket, see [Variables and secrets](https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/).
{% endhint %}

### Using the installation script

You may automatically install the scanner using the installation script available from `https://get.xygeni.io/latest/scanner/install.sh` for bash or

`https://get.xygeni.io/latest/scanner/install.ps1` for powershell.

```yaml
pipelines:
  default:
    - parallel:
      - step:
          name: 'Install & run Xygeni scanner'
          script:
            - >
              curl -L https://get.xygeni.io/latest/scanner/install.sh |
              /bin/bash -s -- -o -t $XYGENI_TOKEN
            - $HOME/xygeni_scanner/xygeni scan -n $PROJECT_NAME --dir $PROJECT_HOME
```

{% hint style="info" %}
Please refer to the [scanner documentation](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview) for full details on the scanner command line options and configuration.
{% endhint %}

### Using the docker image <a href="#using_the_docker_image" id="using_the_docker_image"></a>

If it is not possible to install the scanner in the `BitBucket` host running the pipeline, you may run the docker image instead:

```linenums
pipelines:
  default:
    - parallel:
      - step:
          name: 'Install & run Xygeni scanner'
          script:
            - >
              docker run
                -v $PROJECT_HOME:/app
                -v $DD_CONF:/opt/xygeni_scanner/conf
                -t -rm
                xygeni_scanner/xygeni scan
                -n $PROJECT_NAME --dir /app
```

{% hint style="info" %}
See [Xygeni Scanner docker image](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-docker-image) for more details.
{% endhint %}
