devpaulopaixao/mantis-bugcatcher

Laravel mantis bugtracker api integration

dev-main 2022-08-03 02:01 UTC

This package is auto-updated.

Last update: 2025-05-29 01:56:20 UTC


README

Integração com a API do Mantis BUG Tracker

Total Downloads License

Sobre o Mantis

MantisBT é um rastreador de problemas de código aberto que fornece um equilíbrio delicado entre simplicidade e poder. Os usuários podem começar em minutos e começar a gerenciar seus projetos enquanto colaboram com seus colegas de equipe e clientes de forma eficaz. Depois de começar a usar, você nunca mais vai voltar!

Por que o Mantis?

Gratuito e de código aberto, o MantisBT é uma ferramenta de gestão de projetos e rastreamento de erros que dá às equipes de desenvolvimento a flexibilidade de personalizar tíquetes de problemas e processos de fluxo de trabalho.

Requisitos

  • "guzzlehttp/guzzle": "^7.3"

Instalação

Instale o Composer caso você não o tenha.

composer require devpaulopaixao/mantis-bugcatcher

Ou, em seu 'composer.json' adicione:

{
    "require": {
        "devpaulopaixao/laravel-tools": "dev-main"
    }
}

Em seguida, execute o comando de instalação do gerenciador de pacotes:

composer install

Depois, adicione a seguinte linha ao seu 'config/app.php' em 'providers':

Devpaulopaixao\MantisBugcatcher\MantisServiceProvider::class,

Com isso, o pacote está pronto para ser utilizado.

Variáveis de ambiente

Adicione ao seu arquivo '.env' as variáveis de ambiente que possibilitarão a comunicação com o servidor onde está localizado o sistema de monitoramento do Mantis:

MANTIS_URL="URL DO SERVIDOR"
MANTIS_SECRET="CHAVE DE ACESSO AO MANTIS"
MANTIS_PROJECT_ID="ID DO RESPECTIVO PROJETO"
MANTIS_PROJECT_NAME="NOME DO RESPECTIVO PROJETO"
MANTIS_TIMEOUT="LIMITE PARA EXPIRAR CONEXÃO COM O SERVIDOR(OPCIONAL)"

Endpoints de API

  1. Create an issue minimal:

    /**
      * Create an issue minimal
      *
      * @access public
      * @param array $data [
      * 
      * Array contendo os parâmetros necessários para executar a funcionalidade.
      *
      * @param string $summary
      * @param string $description
      * @param array $category[
      *  @param string $name
      * ]
      * 
      * ]
      * @return Object
      */
      MantisBugcatcher::createAnIssueMinimal([
         'summary'   => '',
         'description' => '',
         'category' => [
             'name' => ''
         ]
      ]);

    Esta função retorna um objeto com as seguintes propriedades em caso de sucesso ou erro:

     return (object)[
                "status"   => 'success',
                "data"     => json_decode($response->getBody()->getContents())
            ];
     return (object)[
                "status"   => 'error',
                "code"     => $response->getStatusCode() != null ? $response->getStatusCode() : 000,
                "message"  => $e->getMessage(),
            ];
  2. Create an issue:

    /**
      * Create an issue minimal
      *
      * @access public
      * @param array $data [
      * 
      * Array contendo os parâmetros necessários para registrar a issue completa.
      *
      * @param string $summary
      * @param string $description
      * @param string $additional_information (optional)
      * @param array $project[
      *  @param integer $id
      *  @param string $name
      * ]
      * @param array|integer $category[
      *  @param integer $id
      *  @param string $name
      * ]
      * @param array $handler[
      *  @param string $name
      * ]
      * @param array|integer $view_state[
      *  @param integer $id
      *  @param string $name
      * ]
      * @param array $priority[
      *  @param string $name
      * ]
      * @param array $severity[
      *  @param string $name
      * ]
      * @param array $reproducibility[
      *  @param string $name
      * ]
      * @param bool $sticky (optional) false
      * @param array $custom_fields (optional)[
      *  @param array $field[
      *      @param integer $id
      *      @param string $name
      *  ]
      *  @param string $value
      * ]
      * @param array $tags (optional)[
      *  @param string $name
      * ]
      * 
      * ]
      * @return Object
      */
      MantisBugcatcher::createAnIssue([
         'summary'   => '',
         'description' => '',
         'additional_information' => '',
         'category' => [
             'id' => ''
             'name' => ''
         ],
         'handler' => [
             'name' => ''
         ],
         'view_state' => [
             'id' => ''
             'name' => ''
         ],
         'priority' => [
             'name' => ''
         ],
         'severity' => [
             'name' => ''
         ],
         'reproducibility' => [
             'name' => ''
         ],
         'sticky' => '',
         'custom_fields' => [],
         'tags'=> [],
      ]);

    Esta função retorna um objeto com os mesmos parâmetros especificados no primeiro exemplo.

Licença

MIT