Manual de uso Immigrant - Jira
Tags: ledscommunity
Published: 2024-06-03 17:40:28

## Visão geral
O Immigrant - Jira é uma abordagem baseada em ontologia que auxilia na identificação das necessidades de informação da organização, recuperando dados do Jira e fornecendo dados integrados que atendam às necessidades de informação.

### Pré-requisitos

1- Python
2- Docker
3- Java 17

## Infraestrutura

Fornece a infraestrutura base necessária para rodar o projeto.

### Passo a Passo

1- **Clone o repositório:**

```bash
git clone https://gitlab.com/immigrant-data-driven-development/infrastructure/base-infrastructure.git
cd base-infrastructure
```

2- **Crie um arquivo `.env` com o seguinte conteúdo:**

```env
DEBEZIUM_VERSION=2.0
COMPOSE_PROJECT_NAME=immigrant-cdc-infrastructure
```

3- **Inicialize o Docker:**

```bash
docker-compose up
```

4- **Verifique a aplicação na URL:** [http://localhost:19000](http://localhost:19000)

---

## Jira Extractor

O Jira Extractor é uma ferramenta para extrair dados do Jira. Ele utiliza a biblioteca jiraX para a extração e Apache Kafka para colocar os dados em uma fila.

### Passo a Passo

1- **Clone o repositório:**

```bash
git clone https://gitlab.com/immigrant-data-driven-development/etl/extract/jira-extract.git
cd jira-extract
```

2- **Crie um arquivo `.env` com o seguinte conteúdo:**

```env
TOPIC=application.jira.extract
SERVERS=kafka:29092
GROUP_ID=extract_jira_group

URL={url do projeto}
USERNAME={seu email}
SECRET={api token}
```

3- **Inicialize o Docker:**

 ```bash
 docker-compose up
 ```

4- **Testando com o `producer.py`:**

- **Crie e ative um ambiente virtual Python:**

```bash
python -m venv env
source env/bin/activate
```

- **Instale as dependências:**

```
pip install -r src/requirements.txt
```

- **Rode o producer:**

```bash
python src/producer.py
```

Exemplo dos dados enviados pelo producer:

```python
data = {  
        "url":config('URL'),
        "username": config('USERNAME'),
        "secret": config('SECRET'),        
        }
```

5- **Verifique os tópicos gerados na URL:** [http://localhost:19000](http://localhost:19000)

![Tópicos Kafka](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/17fjx5ajy1gcq1dy6z9k.png)

---

## SRO - Transform and Load

É o componente responsável por mapear o modelo do Jira para o banco de dados SRO.

### Passo a Passo


1- **Execute o serviço do Transform and Load:**

- **Clone o repositório:**

```bash
git clone https://gitlab.com/immigrant-data-driven-development/services/domain/sro.git
cd sro/webservice
```

- **Execute o serviço:**

```bash
docker-compose up
```

ou

```bash
mvn clean install
mvn spring-boot:run
```

2- **Execute o Transform and Load:**

- **Clone o repositório:**

```bash
git clone https://gitlab.com/immigrant-data-driven-development/etl/transform-and-load/sro.git
cd sro
```

- **Crie um arquivo `.env` com o seguinte conteúdo:**

```env
KAFKA_SERVER=kafka
KAFKA_PORT=29092
DB_URL=db-pg
DB_PORT=5432
DB_NAME=sro
DB_USERNAME=postgres
DB_PASSWORD=postgres
SERVER_ETL_PORT=8091
MONGO_HOST=mongo
MONGO_DB=sro
MONGO_PORT=27017
```

- **Execute o Transform and Load:**

```bash
docker-compose up
```

ou

```bash
mvn clean install
mvn spring-boot:run
```

3- **Verifique se os dados esperados estão no banco postgres gerado.**

Exemplo de projeto convertido para o banco de dados SRO

![Projeto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xx1a89ulqpybiy4uh5tu.png)

[Link do repositório do Immigrant](https://gitlab.com/immigrant-data-driven-development)
Neste repositório temos o Immigrant de forma completa.