tomatophp/filament-issues

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

Fund package maintenance!
3x1io

v1.0.1 2024-10-16 09:51 UTC

This package is auto-updated.

Last update: 2024-10-16 09:51:55 UTC


README

Screenshot

Filament GitHub Issues Manager

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