marshmallow/laravel-nova-linear

This package will let you create issues in Linear via a Nova Resource. It also supports attachments!


README

This package will let you create issues in Linear via a Nova Resource. It also supports attachments!

Installation

You can install the package via composer:

composer require marshmallow/laravel-nova-linear

Install Linear for Laravel

This package is working with the Linear for Laravel package. If you haven't done so already, make sure you follow the installation steps of that package. You can read the docs here.

Install Spatie Media Library

This package also uses the Media Library package from Spatie in the background. If you don't use this package in your application yet, you will need to run there migrations aswell. If you already use this package, you can skip this step.

php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"

Run the migrations

Next you need to publish the migrations for this package and run them all. You can do so by running the commands below.

php artisan vendor:publish --tag="nova-linear-migrations"
php artisan migrate

Create a Nova Resource

You will need to create a Nova Resource for creating the issues in Nova. This Nova Resource will extend the Nova Resource in this package so this is a really simple file. This file should be located at app/Nova/LinearIssue.php. Paste the content displayed below in this new file.

// app/Nova/LinearIssue.php

namespace App\Nova;

use LaravelNovaLinear\Nova\LinearIssue as MarshmallowLinearIssue;

class LinearIssue extends MarshmallowLinearIssue
{
    // Yes, this is everything we need.
}

Add it to your Nova Menu

The only thing that is left is you need to add the resource to your menu. You can do this in many ways but we have added an example below.

// app/Providers/NovaServiceProvider.php

public function boot()
{
    parent::boot();

    Nova::mainMenu(function (Request $request) {
        return [
            // ...
            MenuSection::make(__('Issues'))->icon('fire')->path('/resources/linear-issues')
        ];
    });
}

Generate template files

If you are working with labels, you have the options to generate template files for every label. This will help you getting complete information for every issue that is created. You can generate these files with the following command.

php artisan linear:generate-issue-templates

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.