https://github.com/takuya/laravel-plugin-nulab-backlog-archiver
ヌーラボのBacklogをLaravelに取り出すプラグイン
https://github.com/takuya/laravel-plugin-nulab-backlog-archiver
backlog-api
Last synced: 11 months ago
JSON representation
ヌーラボのBacklogをLaravelに取り出すプラグイン
- Host: GitHub
- URL: https://github.com/takuya/laravel-plugin-nulab-backlog-archiver
- Owner: takuya
- License: mit
- Created: 2023-03-01T09:41:54.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-03-01T10:23:18.000Z (over 3 years ago)
- Last Synced: 2025-06-01T06:28:41.165Z (about 1 year ago)
- Topics: backlog-api
- Language: PHP
- Homepage:
- Size: 37.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Laravel プロジェクト用 Backlog プラグイン
ヌーラボ・バックログのデータをLaravelデータベースへ取り込む。
### 用途
バックアップ・一括更新・プロジェクト間のデータコピー
`Laravel/Lumen`のデータベースに`nulab backlog`のデータを取り込んで、解析・構成変更を行って、スケジュールで同期をかけたり、一括変更・一括削除などを作るための土台をつくる。バックログのデータを俯瞰し自由に触れる環境を作るためにプラグインを用意した。
## 使い方
最初に、デーベースのマイグレーションとORMモデルを用意します。
#### 初期化コマンド
- database/migrations にマイグレーションファイルが一気に作成されます。
- app/models にEloquentモデルが作成されます。
```shell
artisan backlog:make:migration:all
artisan backlog:make:models:all
```
次に、データをBacklogから取り込みます。
```shell
backlog:save:project xxProjectKeyxxx --with-issue
```
データを取り込んだら、あとは閲覧しながらデータを弄くります。
```shell
## 例 やりたいことをかく
$cli = new BacklogAPIClient($space, $key);
$cli->deleteComment(111,[...]);
```
他のアプリケーションにデータを移行するとか、解約後に簡易的にデータ閲覧するなど、データの囲い込みに負けない目的に使えます。
## 設定
`.env` ファイルに BacklogAPIアクセス用の`キー`と`スペースURL`を書いてください。
```shell
BACKLOG_API_KEY=ITZ***********TJ2RpTWkkGT
BACKLOG_SPACE=https://***.backlog.com/
```
## インストール
```shell
composer config repositories.'takuya/laravel-plugin-nulab-backlog-archiver' \
vcs 'https://github.com/takuya/laravel-plugin-nulab-backlog-archiver'
composer require 'takuya/laravel-plugin-nulab-backlog-archiver'
```
## developing
さくっと試したいとき、開発環境を作りたいときは次のコマンドをコピペしてください。
```shell
## laravel/lumenプロジェクトの作成
composer create-project --prefer-dist laravel/lumen my-dev
cd my-dev
## master バージョン指定
composer config minimum-stability dev
composer config prefer-stable true
# インストール
composer config repositories.'takuya/laravel-plugin-nulab-backlog-archiver' \
vcs 'https://github.com/takuya/laravel-plugin-nulab-backlog-archiver'
composer require 'takuya/laravel-plugin-nulab-backlog-archiver':master
composer install
## lumen の場合は、serviceProviderの登録
sed -i '/EventServiceProvider/a $app->register(\\Takuya\\Laravel\\Backlog\\Providers\\AppServiceProvider::class);' bootstrap/app.php
## マイグレーション・モデル作成
php artisan backlog:make:migration:all
php artisan backlog:make:models:all
```
## 日付に関する注意点。
バックログのAPIが返却するデータはすべてUTCです。データ保存時はUTCで保存することを想定してます。laravel/lumenのタイムゾーン設定はUTCにして、表示時にタイムゾーンに合わせて表示するようにするほうが良いと思います。内部をJSTにすると9時間ズレます。
## リレーションに関する注意点
リレーションのためのManyToMany・OneToManyの中間テーブルは作成していません。Larave Eloquent Mode のキャストを使ってArray/Jsonにキャストしています。
リレーションの必要に応じてモデルを書き換えて使ってください。