<commit_before># ci-cd-sharedflow-pipeline

This project contains a reference implementation for a CI/CD pipeline for
Apigee sharedflow using the [Apigee Deploy Maven
Plugin](https://github.com/apigee/apigee-deploy-maven-plugin).

## Pre-requisites

- Node.js (10.x or later)
- Maven (3.x or later)
- Java (8 or later)

## Execution

This example deploys the Sharedflow to Apigee. To test the sharedflow,
the test contains a simple proxy that calls this sharedflow and then executes
some tests to verify if the sharedflow works as expected.

### Apigee Edge

#### To deploy the sharedflow 

```sh
mvn clean install -Papigeeapi -Dorg=${org} -Denv=${env} \
-Dusername=${username} -Dpassword=${password}
```

#### To test the sharedflow 

```sh
mvn install -Papigeeapi -Dorg=${org} -Denv=${env} \
-Dusername=${username} -Dpassword=${password} -f test/integration/pom.xml
```

The above command will deploy a test proxy that calls the sharedflow,
configure API Product, Developer and an App. The plugin will then download
the app credentials and use that for running integration test cases

#### To delete the Test API Products, Developer and App

```sh
mvn apigee-config:apps apigee-config:apiproducts -Papigeeapi -Dorg=${org} -Denv=${env} \
-Dusername=${username} -Dpassword=${password} -Dapigee.config.options=delete \
-f test/integration/pom.xml
```

### Apigee X / hybrid

#### To deploy the sharedflow<commit_msg>Linting issues fixed<commit_after># ci-cd-sharedflow-pipeline

This project contains a reference implementation for a CI/CD pipeline for
Apigee sharedflow using the [Apigee Deploy Maven
Plugin](https://github.com/apigee/apigee-deploy-maven-plugin).

## Pre-requisites

- Node.js (10.x or later)
- Maven (3.x or later)
- Java (8 or later)

## Execution

This example deploys the Sharedflow to Apigee. To test the sharedflow,
the test contains a simple proxy that calls this sharedflow and then executes
some tests to verify if the sharedflow works as expected.

### Apigee Edge

#### To deploy the sharedflow

```sh
mvn clean install -Papigeeapi -Dorg=${org} -Denv=${env} \
-Dusername=${username} -Dpassword=${password}
```

#### To test the sharedflow

```sh
mvn install -Papigeeapi -Dorg=${org} -Denv=${env} \
-Dusername=${username} -Dpassword=${password} -f test/integration/pom.xml
```

The above command will deploy a test proxy that calls the sharedflow,
configure API Product, Developer and an App. The plugin will then download
the app credentials and use that for running integration test cases

#### To delete the Test API Products, Developer and App

```sh
mvn apigee-config:apps apigee-config:apiproducts -Papigeeapi -Dorg=${org} -Denv=${env} \
-Dusername=${username} -Dpassword=${password} -Dapigee.config.options=delete \
-f test/integration/pom.xml
```

### Apigee X / hybrid

#### To deploy the sharedflow
{'fraction_non_alphanumeric': 0.11992945326278659, 'fraction_numerical': 0.0028218694885361554, 'mean_word_length': 4.6158415841584155, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5705086', 'n_tokens_mistral': 915, 'n_tokens_neox': 876, 'n_words': 323}