Skip to content
generated from atomicgo/template

📦 Go library that enables your users to submit error reports to GitHub

License

Notifications You must be signed in to change notification settings

atomicgo/ghissue

Repository files navigation

AtomicGo | ghissue

Downloads Latest Release Tests Coverage Unit test count License: MIT Go report


Documentation | Contributing | Code of Conduct


AtomicGo

go get atomicgo.dev/ghissue

ghissue

import "atomicgo.dev/ghissue"

Package ghissue enables your users to submit issues to GitHub directly.

![Demo Video](https://raw.githubusercontent.com/atomicgo/ghissue/main/demo.gif\)

Example:

repo := ghissue.NewRepository("atomicgo", "ghissue")
// [...]
err := errors.New("This is an error")
repo.CreateErrorReport(err) // Only creates an error report if the error is not nil

Index

Variables

ErrOpenBrowser is the error returned when opening the browser fails.

var ErrOpenBrowser = errors.New("failed to open browser")

type Issue

Issue is a GitHub issue.

type Issue struct {
    Repository Repository
    Title      string
    Body       string
}

func NewIssue(repo Repository, title, body string) Issue

NewIssue creates a new issue.

func (Issue) GetCreateURL

func (issue Issue) GetCreateURL() string

GetCreateURL returns the URL to create an issue.

func (Issue) Open

func (issue Issue) Open() error

Open opens the "create issue" menu on GitHub in the browser.

Repository is a GitHub repository.

type Repository struct {
    Owner string
    Name  string
}

func NewRepository(owner, name string) Repository

NewRepository creates a new Repository from an owner and repository name.

func (Repository) CreateErrorReport

func (repo Repository) CreateErrorReport(err error) error

CreateErrorReport creates a new issue on GitHub with a detailed error report including the stack trace.

Example:

repo := ghissue.NewRepository("atomicgo", "ghissue")
     // [...]
     err := errors.New("This is an error")
		repo.CreateErrorReport(err)

func (Repository) NewIssue

func (repo Repository) NewIssue(title, body string) Issue

NewIssue creates a new issue with a title and body.

func (Repository) String

func (repo Repository) String() string

String returns the string representation of the repository.

Generated by gomarkdoc


AtomicGo.dev  ·  with ❤️ by @MarvinJWendt | MarvinJWendt.com