コード例 #1
0
ファイル: Tissue.php プロジェクト: bouiboui/tissue
 /**
  * Create an issue from the sent request
  * @param null $message
  * @param null $code
  * @param null $severity
  * @param null $path
  * @param null $lineno
  * @param null $trace
  * @return array
  * @throws ErrorException
  * @throws InvalidArgumentException
  * @throws MissingArgumentException
  * @throws ParseException
  */
 public static function create($message = null, $code = null, $severity = null, $path = null, $lineno = null, $trace = null)
 {
     static::loadConfig();
     if (null === array_unique([$message, $code, $severity, $path, $lineno, $trace])) {
         throw new ErrorException('At least one parameter must be set.');
     }
     $issue = new GithubIssue($message, $code, $severity, $path, $lineno, $trace);
     return $issue->commit(static::$config['you']['username'], static::$config['you']['password'], static::$config['repo']['author'], static::$config['repo']['name']);
 }
コード例 #2
0
ファイル: GithubIssue.php プロジェクト: bouiboui/tissue
 /**
  * GithubIssue constructor.
  * Internally formats the Github issue title and message
  * @param string $message
  * @param int $code
  * @param int $severity
  * @param string $path
  * @param int $lineno
  * @param string $trace
  */
 public function __construct($message = null, $code = null, $severity = null, $path = null, $lineno = null, $trace = null)
 {
     // Default message
     if (null === $message) {
         $message = 'An error occured.';
     }
     // Format the title under 50 characters
     $this->title = GithubIssue::formatTitle($path, $lineno, $message);
     // Only display a two-parent-directories-deep path, for readability
     $shortPath = GithubIssue::formatPath($path);
     $bodyContents = [];
     // Head table (Code and Severity)
     if (null !== $code || null !== $severity) {
         $bodyContents[] = GithubIssue::formatTable($code, $severity);
     }
     // $path:$line
     if (null !== $path) {
         $pathText = '**Path**' . PHP_EOL . $shortPath;
         if (null !== $lineno) {
             $pathText .= ':**' . $lineno . '**';
         }
         $bodyContents[] = $pathText;
     }
     if (null !== $message) {
         $bodyContents[] = '**Message**' . PHP_EOL . $message;
     }
     if (null !== $trace) {
         $bodyContents[] = '**Stack trace**' . PHP_EOL . '```' . PHP_EOL . $trace . PHP_EOL . '```';
     }
     // Format the body
     $this->body = GithubIssue::formatBody($bodyContents);
 }