galata/laravel-monday-api

由Marcio da Gálata开发的Monday v2 API

dev-main 2024-05-14 20:31 UTC

This package is auto-updated.

Last update: 2024-09-14 21:16:00 UTC


README

Monday.com API

安装与加载

Monday API可在Packagist(使用语义化版本)上找到(https://packagist.org.cn/packages/tblack-it/monday-api),推荐通过Composer安装Monday API。只需将以下行添加到您的composer.json文件中

"galata/laravel-monday-api": "~0.2"

或者运行

composer require galata/laravel-monday-api

此包使用自动发现,因此您不需要手动添加任何内容到您的config/app.php。

如果您不使用自动发现

将ServiceProvider和Facade添加到您的config/app.php

'providers' => [
  ...
  Galata\LaravelMondayAPI\MondayServiceProvider::class,
],
'aliases' => [
  ...
  'Monday' => Galata\LaravelMondayAPI\MondayFacade::class,
]

可选 然后,运行以下命令以将配置发布到您的config/目录。只需在.env文件中添加MONDAY_TOKEN=MYTOKEN即可。

$ php artisan vendor:publish --tag=config
return [
    'monday_token' => 'MYTOKEN', // the token for your tenant on monday.com
];

用法

与看板交互

# Get all boards
$all_boards = Monday::getBoards();

# Get Board id : 10012
$board_id = 10012;
$board = Monday::on($board_id)->getBoards();

# Get Board Columns
$board_id = 10012;
$boardColumns = Monday::on($board_id)->getColumns();

# Create Board, if success return board_id
$newboard = Monday::create( 'New Board Name', Galata\LaravelMondayAPI\MondayAPI\ObjectTypes\BoardKind::PUB );
$board_id = $newboard['create_board']['id'];

与条目交互

# Insert new Item on Board
$board_id = 10012;
$id_group = 'topics';
$column_values = [ 'text1' => 'Value...','text2' => 'Other value...' ];

$addResult = Monday::on($board_id)
              ->group($id_group)
              ->addItem( 'My Item Title', $column_values );

# If you want to use the `create_labels_if_missing` arguments; just add `true` as the third arguments (default: `false`)
$addResult = Monday::on($board_id)
              ->group($id_group)
              ->addItem( 'My Item Title', $column_values, true);

# if succes return
$item_id = $addResult['create_item']['id'];

# For update Item
$item_id = 34112;
$column_values = [ 'text1' => 'New Value','text2' => 'New other value...' ];

$updateResult = Monday::on($board_id)
              ->group($id_group)
              ->changeMultipleColumnValues($item_id, $column_values );

# Archive item
$result = Monday::on($board_id)
              ->group($id_group)
              ->archiveItem($item_id);

// Delete item
$result = Monday::on($board_id)
              ->group($id_group)
              ->deleteItem($item_id);

如果您需要特定的操作,可以运行自定义查询或变异

// Run a custom query
$query = '
boards (ids: 12121212) {
  groups (ids: group_id) {
    items {
      id
      name
      column_values {
        id
        text
        title
      }
    }
  }
}';

# For Query
$items = Monday::customQuery( $query );

# For Mutation
$items = Monday::customMutation( $query );