# Methods  for CI/CD integration with CLI

CI/CD integration with CLI Now you can start online scans with the new CLI command:&#x20;

### Method 1: Scan repo using our cluster

### &#x20;`cdefense online`

### Options:

`cdefense online --api-key={} --repository-url={} --branch-name= {optional} --tag={optional} (You should have ENV variable SCAN_URL=https://console.clouddefenseai. com)`

### `Example:`&#x20;

`cdefense online --api-key=76858509-fe91-4969-b57a-decc36d0726a --repository-url=`[`https://github.com/mono/mono`](https://github.com/mono/mono) `--branch-name= example --tag=example (You should have ENV variable SCAN_URL=https://console.clouddefenseai. com)`

Command will return exit status 1 if build policy was failed.

### `Scan private repo`&#x20;

`We also support private repositories. To do this you need to provide API key related to account where integration is configured or provide an access token into repository URL:`

`GitHub:`&#x20;

`https://{private-access-token}@github.com/username/repo.git`&#x20;

#### `GitLab:`&#x20;

`https://oauth2:{personal-access-token}@gitlab.com/username/repo.git`&#x20;

`https://{username}:{password}@gitlab.com/username/repo.git`&#x20;

#### `Azure Repo:`&#x20;

`https://{private-access-token}@dev.azure.com/orgname/projectname/_git/repo`&#x20;

#### `Bitbucket:`&#x20;

`https://{username}:{access_token}@bitbucket.org/username/repo.git`&#x20;

### `Example output`&#x20;

#### `Without verbose:`&#x20;

```
// cdefense online --api-key=76858509-fe91-4969-b57a-decc36d0726a --repository-url=https://bitbucket.org/kilaruoleh/vulnado 
2022/07/15 16:59:52 [INFO] Connecting to server... 
2022/07/15 16:59:53 [INFO] Welcome [developer@clouddefense.ai]. You have been successfully connected to [Cloud Defense] organization 
2022/07/15 16:59:53 [INFO] Running full online scan... 
2022/07/15 17:01:19 [INFO] Scan was finished 
2022/07/15 17:01:19 [INFO] Build policy status: FAILURE
Failed build policy results:
 /app/pom.xml : java_maven: 
- Rule [CWE PART_OF_OWASP Injection] failed. Number of occurrences: 1 
- Rule [TITLE CONTAINS inje] failed. Number of occurrences: 1
[INFO] Scan started at 16:59:52 finished at 17:01:19 
[INFO] Total scan time: 1m27s
```

#### With verbose:&#x20;

```
// cdefense online --api-key=76858509-fe91-4969-b57a-decc36d0726a --repository-url=https://bitbucket.org/kilaruoleh/vulnado --verbose
2022/07/15 17:00:16 [INFO] Connecting to server...
2022/07/15 17:00:16 [INFO] Welcome [developer@clouddefense.ai]. You have been successfully connected to [Cloud Defense] organization
2022/07/15 17:00:17 [INFO] Running full online scan...
2022/07/15 17:01:43 [INFO] Scan was finished
2022/07/15 17:01:43 [INFO] Build policy status: FAILURE
{
  "/app/pom.xml : java_maven": {
    "failureBuildPolicyResults": [
      {
        "message": "Rule [CWE PART_OF_OWASP Injection] failed. Number of occurrences: 1",
        "rule": {
          "operand": "CWE",
          "operator": "PART_OF_OWASP",
          "value": "Injection"
        },
        "count": 1
      },
      {
        "message": "Rule [TITLE CONTAINS inje] failed. Number of occurrences: 1",
        "rule": {
          "operand": "TITLE",
          "operator": "CONTAINS",
          "value": "inje"
        },
        "count": 1
      }
    ],
    "passedBuildPolicyResults": [
      {
        "message": "Success",
        "rule": {
          "operand": "CRITICAL_SEVERITY_COUNT",
          "operator": "GREATER_THAN",
          "value": "1"
        },
        "count": 1
      },
      {
        "message": "Success",
        "rule": {
          "operand": "CWE",
          "operator": "PART_OF_OWASP",
          "value": "Broken Authentication"
        },
        "count": 0
      },
      {
        "message": "Success",
        "rule": {
          "operand": "CWE_ID",
          "operator": "CONTAINS",
          "value": "264"
        },
        "count": 0
      }
    ]
  }
} 
[INFO] Scan started at 17:00:16 finished at 17:01:43
[INFO] Total scan time: 1m27s


```

### Method 2: Scan repo on your system, but download repo from external (any git)

Example:

{% code overflow="wrap" %}

```
cdefense clidocker --api-key={} --scan-url=https://console.
clouddefenseai.com --project-name={} --git=true --repourl=https://github.com/scalesec/vulnado --branch={optional} --tag={optional}
```

{% endcode %}

### Method 3: Scan repo on your system, but copy project from your PC

Example:

{% code overflow="wrap" %}

```
cdefense clidocker --api-key={} --scan-url=https://console.
clouddefenseai.com --project-name={} --path={path-to-folder-with-app} --
repo-url=https://github.com/scalesec/vulnado --branch={optional} --tag={optional}
```

{% endcode %}

Command will push data to console.clouddefenseai.com


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clouddefenseai.com/ci-cd/methods-for-ci-cd-integration-with-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
