devpaulopaixao/mantis-bugcatcher

Laravel mantis bugtracker api 集成

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

This package is auto-updated.

Last update: 2024-09-30 01:41:11 UTC


README

与 Mantis BUG Tracker API 集成

Total Downloads License

关于 Mantis

MantisBT 是一个开源的代码问题跟踪器,它提供了一个在简单性和功能之间的平衡。用户可以在几分钟内开始使用,并开始管理项目,同时与团队成员和客户有效协作。一旦开始使用,您就再也不会回头了!

为什么选择 Mantis?

免费且开源的 MantisBT 是一个项目管理和错误跟踪工具,它为开发团队提供了自定义问题票据和工作流程流程的灵活性。

要求

  • "guzzlehttp/guzzle": "^7.3"

安装

如果您还没有安装,请安装 Composer

composer require devpaulopaixao/mantis-bugcatcher

或者,在您的 'composer.json' 中添加

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

然后,运行包管理器的安装命令

composer install

然后,将以下行添加到您的 'config/app.php' 中的 'providers' 部分

Devpaulopaixao\MantisBugcatcher\MantisServiceProvider::class,

这样,包就准备就绪可以使用了。

环境变量

将以下环境变量添加到您的 '.env' 文件中,以启用与 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)"

API 端点

  1. 创建最小问题:

    /**
      * 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' => ''
         ]
      ]);

    如果成功或出现错误,此函数返回一个包含以下属性的对象

     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 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'=> [],
      ]);

    此函数返回一个与第一个示例中指定的相同参数的对象。

许可证

MIT