Skip to content

abichinger/github-issues

Repository files navigation

Github Issues

Pub Version

Use Github issues to collect user feedback.

Screenshots

Features

  • Create Github issues with title, comment and labels
  • Easy internationalization with GithubIssuesLocalizations
  • Supports two authentication methods

Getting started

  1. Create a repository to store the user feedback (or use an existing one).
  2. Get a token with read and write access on issues for your repository
    Option 1: Generate a personal access token
    Option 2: Create a Github App -> Install your own Github App -> Generate a private key for your Github App.

Usage

Full example

Fill input fields in advance:

showDialog(
  context: context,
  builder: (context) {
    return GithubIssueDialog(
      github: Github(Authentication.token('PERSONAL_ACCESS_TOKEN'));,
      owner: 'OWNER',
      repo: 'REPO',
      initialValue: const IssueRequest(title: "Hello World!"),
    );
  },
);

Pass your custom localizations:

class CustomLocalization extends GithubIssuesLocalizationsEn {
  @override
  String get dialogTitle => 'Thanks for your feedback!';
}

showDialog(
  context: context,
  builder: (context) {
    return GithubIssueDialog(
      github: Github(Authentication.token('PERSONAL_ACCESS_TOKEN'));,
      owner: 'OWNER',
      repo: 'REPO',
      localizations: CustomLocalization(),
    );
  },
);

Show only comment input:

showDialog(
  context: context,
  builder: (context) {
    return GithubIssueDialog(
      github: Github(Authentication.token('PERSONAL_ACCESS_TOKEN'));,
      owner: 'OWNER',
      repo: 'REPO',
      showTitle: false,
      labels: null,
      initialValue: const IssueRequest(title: "Hidden Title"), // title is required
    );
  },
);