GitHub Issues Manager plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

GitHub Issues Manager

Manage your github issues from your panel and share issues with others

Tags: Developer Tool
Supported versions:
3.x
Fady Mondy avatar Author: Fady Mondy

Documentation

Screenshot

Latest Stable Version License Downloads

Manage your GitHub issues from your FilamentPHP panel and share issues with others

#Features

  • Fetch issues from GitHub
  • Filter issues by labels
  • Filter issues by assignees
  • Filter issues by author
  • Filter issues by created date
  • Filter issues by repository
  • Issues UI Component
  • Issues Card Component
  • Refresh issues command
  • Register Repo from Service Provider
  • Integration with Filament CMS Builder
  • Manage Issues from FilamentPHP panel
  • Share Issues with others
  • Filter By Milestones
  • Filter By Projects
  • Filter By Reactions
  • Add comments to issues
  • Add labels to issues
  • Add assignees to issues
  • Add milestones to issues
  • Add projects to issues
  • Add reactions to issues
  • Integration With Jira
  • Integration With Filament PMS coming soon

#Screenshots

Issues Dashboard Issues Filters Issues Component

#Installation

composer require tomatophp/filament-issues

after install your package please run this command

php artisan filament-issues:install

if you are not using this package as a plugin please register the plugin on /app/Providers/Filament/AdminPanelProvider.php

->plugin(\TomatoPHP\FilamentIssues\FilamentIssuesPlugin::make())

now you need to publish the config file filament-issues

php artisan vendor:publish --tag="filament-issues-config"

now on your config file edit orgs and repos so you can select which organization and repository you want to fetch issues from

return [

    /*
    |--------------------------------------------------------------------------
    | Organizations
    |--------------------------------------------------------------------------
    |
    | List of organizations to search for issues.
    |
    */
    'orgs' => [],

    /*
    |--------------------------------------------------------------------------
    | Repositories
    |--------------------------------------------------------------------------
    |
    | List of repositories to search for issues.
    |
    */
    'repos' => [],

]

now on your services.php config add this

'github' => [
    'username' => env('GITHUB_USERNAME'),
    'token' => env('GITHUB_TOKEN'),
],

and on your .env file add this

GITHUB_USERNAME=your-github-username
GITHUB_TOKEN=your-github-token

now clear your config

php artisan config:cache

after install you will find a refresh button on the issues resource you can click it the fetch your issues from GitHub make sure your queue is running

#Usage

you can use this Issues on public by just use this component

<x-filament-issues />

or you can use direct issue card by use this component

<x-filament-issues-card :issue="$issue" />

#Refresh Your issues

we create a predefined command to refresh your issues by use this command

php artisan filament-issues:refresh

#Register Repo using Facade

you can register your repo by use this code on your AppServiceProvider.php

public function boot() 
{
    FilamentIssues::register([
        'tomatophp/filament-issues',
        'tomatophp/filament-cms',
        'tomatophp/filament-pms',
    ]);
}

#Integration With Filament CMS Builder

you can use this package with Filament CMS Builder by use this code on your AppServiceProvider.php

public function boot() 
{
    FilamentIssues::register(
        fn() => Post::query()
            ->where('type', 'open-source')
            ->pluck('meta_url')
            ->map(
                fn($item) => str($item)
                    ->remove('https://github.com/')
                    ->remove('https://www.github.com/')
                    ->toString()
            )
            ->toArray()
   );
} 

#Publish Assets

you can publish config file by use this command

php artisan vendor:publish --tag="filament-issues-config"

you can publish views file by use this command

php artisan vendor:publish --tag="filament-issues-views"

you can publish languages file by use this command

php artisan vendor:publish --tag="filament-issues-lang"

you can publish migrations file by use this command

php artisan vendor:publish --tag="filament-issues-migrations"

#Other Filament Packages

Checkout our Awesome TomatoPHP