Skip to content

durvalcarvalho/reliability-api

Repository files navigation

API para o serviço de Confiabilidade

Essa API fornece o serviço de processamento de repositório, retornando um link para a imagem resultante desse processamento. Quando a solitação é feita, é retornado um token de status que irá está associado a um processamento. Com esse token é possível obter o status do processamento. Quando o processamento é finalizado, a rota de status do processamento irá returnar o link para a imagem resultante.



Rodar locamente

1. Crie uma conta no imgur

2. Registre uma aplicação na sua conta do imgur (link).

Durante o registro seleciona a opção OAuth 2 authorization without a callback URL

3. Atualize o arquivo .env com seu CLIENT_ID

4. Rode o comando abaixo para não deixar o git rastrear o arquivo .env

git update-index --assume-unchanged .env

5. Suba os containers com o docker-compose

sudo docker-compose up



Rotas

GET /issues

Parameters

Name Type Description
github_token lista de string Tokens que podem ser usados para acessar a API do Github
url string URL para o repositório que será analisado
must_have_labels lista de string Labels que indicam que determinada issue é uma issue de bug
must_not_have_labels lista de string Labels que indicam que determinada issue não deve ser considerada um bug

Exemplo

{
    "github_token": ["<GITHUB_TOKEN_1>", "<GITHUB_TOKEN_1>"],
    "url": "https://github.com/facebook/react",
    "must_have_labels": ["Type: Bug", "bug"],
    "must_not_have_labels": ["Status: Unconfirmed"]
}

GITHUB TOKEN: É preciso criar um token em https://github.com/settings/tokens, para aumentar o limite de requisições realizadas para a API do Github. Para repositórios com muitas issues válidas, é preciso de mais de um token, pois para usuários comuns do github, só é permitido 5000 requests por hora. Outro ponto importante é que os tokens devem ser de contas diferentes, pois so 5000 requisições por usuário.

DURANTE A CRIAÇÃO NÃO É PRECISO DE NENHUMA AUTORIZAÇÃO

Reponse

Name Type Description
message string Mensagem para o status do processamento
link string Link para acompanhar o processamento da requisição

Exemplo

{
    "message": "The repository has been successfully added to the processing queue! Follow the link to check the processing status.",
    "link": "https://reliability-django.herokuapp.com/processing?status_token=72e662d5-fe11-482d-bae1-bcfb9ae1ea7d"
}



GET /processing?status_token=<STATUS_TOKEN>

Exemplo

/processing?status_token=72e662d5-fe11-482d-bae1-bcfb9ae1ea7d

Reponse

Essa rota irá retornar o status do processamento, caso o processamento não tenha terminado. Caso o processamento já tenha terminado, será retornado o link para a image gerada.

Exemplo processamento em andamento

{
    "message": "This repository is still being processed. ",
    "status": {
        "ERRORS_MSG": [],
        "ERRORS": false,
        "total_of_issues": 377,
        "progress": "2.12%",
        "issues_processed": 8
    }
}

Exemplo processamento finalizado

{
    "message": "The repository has been successfully added to the processing queue! Follow the link to check the processing status.",
    "link": "https://reliability-images.s3-sa-east-1.amazonaws.com/4BPIXN5UAZ.png"
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published