All Projects → bouiboui → Tissue

bouiboui / Tissue

Licence: unlicense
Create Github issues from your code's Exceptions

Projects that are alternatives of or similar to Tissue

Django Helpdesk
A Django application to manage tickets for an internal helpdesk. Formerly known as Jutda Helpdesk.
Stars: ✭ 1,198 (+932.76%)
Mutual labels:  issues
Wuffle
A multi-repository task board for GitHub issues.
Stars: ✭ 93 (-19.83%)
Mutual labels:  issues
Backoff
Python library providing function decorators for configurable backoff and retry
Stars: ✭ 1,670 (+1339.66%)
Mutual labels:  exceptions
Larabug
Laravel error reporting tool
Stars: ✭ 84 (-27.59%)
Mutual labels:  exceptions
Vue Raven
vue-raven automatically reports uncaught JavaScript exceptions triggered from vue component
Stars: ✭ 91 (-21.55%)
Mutual labels:  exceptions
Laravel Exception Notifier
Laravel Exception Notifier will send an email of the error along with the stack trace to the chosen recipients. This Package includes all necessary traits, views, configs, and Mailers for email notifications upon your applications exceptions. You can customize who send to, cc to, bcc to, enable/disable, and custom subject or default subject based on environment. Built for Laravel 5.2, 5.3, 5.4, 5.5+. Get the errors and fix them before the client even reports them, that's why this exists! For Laravel 5, 6, and 7
Stars: ✭ 94 (-18.97%)
Mutual labels:  exceptions
Vos backend
vangav open source - backend; a backend generator (generates more than 90% of the code needed for big scale backend services)
Stars: ✭ 71 (-38.79%)
Mutual labels:  exceptions
Periskop
Exception Monitoring Service
Stars: ✭ 115 (-0.86%)
Mutual labels:  exceptions
Coderr.server
Replace logfiles with Coderr to correct bugs faster and more efficiently.
Stars: ✭ 92 (-20.69%)
Mutual labels:  exceptions
Didyoumean Python
Module to have suggestions in case of errors (NameError, AttributeError, etc).
Stars: ✭ 102 (-12.07%)
Mutual labels:  exceptions
Glide Support
Android application to test out issues from the Glide image loading library
Stars: ✭ 88 (-24.14%)
Mutual labels:  issues
Packagist Api
The easiest way to work with the packagist API
Stars: ✭ 90 (-22.41%)
Mutual labels:  packagist
Satis Server
🐳 Private, self-hosted Composer/Satis repository with unlimited private and open-source packages and support for Git, Mercurial, and Subversion. HTTP API, HTTPs support, webhook handler, scheduled builds, Slack and HipChat integration.
Stars: ✭ 96 (-17.24%)
Mutual labels:  packagist
Backtrace
Makes Python tracebacks human friendly
Stars: ✭ 80 (-31.03%)
Mutual labels:  exceptions
Packagist
Package Repository Website - try https://packagist.com if you need your own -
Stars: ✭ 1,529 (+1218.1%)
Mutual labels:  packagist
Semver
Semver checker for Packagist
Stars: ✭ 73 (-37.07%)
Mutual labels:  packagist
Keygen Php
A fluent PHP random key generator.
Stars: ✭ 93 (-19.83%)
Mutual labels:  packagist
Packeton
📦 Private, self-hosted Packagist/Composer/Satis repository with unlimited private repos.
Stars: ✭ 115 (-0.86%)
Mutual labels:  packagist
Bugtrap
🐞 BugTrap: Catch unhandled exceptions in unmanaged and managed .NET code.
Stars: ✭ 114 (-1.72%)
Mutual labels:  exceptions
Exception Track
Tracking ⚠️ exceptions for Rails application and store them in database.
Stars: ✭ 102 (-12.07%)
Mutual labels:  exceptions

tissue

Latest Version on Packagist License SensioLabsInsight

Create Github issues from your catch {} blocks. I was heavily inspired by ohCrash.

When you call Tissue::create, a Github issue is created in the repo of your choice and a "bug" label is automatically applied. Duplicates are detected, to a certain extent.

The name comes from "Throw ISSUE" — genius, I know.

Install

$ composer require bouiboui/tissue

Create a local config/config.yaml file from the template in config/config.yaml.dist

Usage

The easy way: bindUncaughtExceptionHandler

// Not shown: include composer's autoload.php
use bouiboui\Tissue\Tissue;

// All uncaught exceptions will trigger the creation of a Github issue
Tissue::bindUncaughtExceptionHandler();

The catch-block-specific way: createFromException

// Not shown: include composer's autoload.php
use bouiboui\Tissue\Tissue;

try {

    throw new ErrorException('This is your issue title and message.');

} catch (\ErrorException $e) {

    // Only exceptions caught by this block will create Github issues
    $result = Tissue::createFromException($e);

}

The "customized output" way: create

// Not shown: include composer's autoload.php
use bouiboui\Tissue\Tissue;

try {

    throw new ErrorException('This is your issue title and message.');

} catch (\ErrorException $e) {

    // Set any parameter to null if you don't want to display it in the issue
    $result = Tissue::create(
        $e->getMessage(),
        $e->getCode(),
        $e->getSeverity(),
        $e->getFile(),
        $e->getLine(),
        $e->getTraceAsString()
    );
    
    var_dump($result);

}

Creates the following issue:

Something like this Something like this

And outputs the following:

array(3) {
  ["duplicate"]=>
  bool(false)
  ["number"]=>
  int(35)
  ["url"]=>
  string(50) "https://api.github.com/repos/author/name/issues/35"
}

For security purposes, if your Github repository is public you should at the very least disable the trace parameter, unless you want strangers on the Internet to know the full path to the files on your server. You may also want to read this.

Credits

License

Unlicense. Public domain, basically. Please treat it kindly. See License File for more information.

This project uses the following open source projects

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].