Skip to content

Add TaskField service for tasks.task.field.* support (#395)#404

Merged
mesilov merged 1 commit intov3-devfrom
feature/395-add-task-field
Mar 26, 2026
Merged

Add TaskField service for tasks.task.field.* support (#395)#404
mesilov merged 1 commit intov3-devfrom
feature/395-add-task-field

Conversation

@mesilov
Copy link
Copy Markdown
Collaborator

@mesilov mesilov commented Mar 26, 2026

Q A
Bug fix? no
New feature? yes
Deprecations? no
Issues Closes #395
License MIT

Adds TaskField service implementing tasks.task.field.get and tasks.task.field.list REST API v3 methods.

New files

  • src/Services/Task/TaskField/Service/TaskField.php — service with get(string $name, array $select = []) and list(array $select = []) methods
  • src/Services/Task/TaskField/Result/TaskFieldItemResult.php — field descriptor item with @property-read annotations for all 11 fields
  • src/Services/Task/TaskField/Result/TaskFieldResult.php — single-item result (reads from result['item'])
  • src/Services/Task/TaskField/Result/TaskFieldsResult.php — list result (reads from result['items'])

Modified files

  • src/Services/Task/TaskServiceBuilder.php — added taskField() accessor
  • phpunit.xml.dist — added integration_tests_task_field suite
  • Makefile — added test-integration-task-field target
  • CHANGELOG.md — added entry under ### Added

Usage

$taskField = $serviceBuilder->getTaskScope()->taskField();

// get single field descriptor
$field = $taskField->get('id')->taskField();
echo $field->name;  // 'id'
echo $field->type;  // 'int'

// list all field descriptors
$fields = $taskField->list()->getTaskFields();

Test plan

  • make lint-cs-fixer — passed
  • make lint-rector — passed (variable renamed to match return type)
  • make lint-phpstan — passed
  • make lint-deptrac — passed (0 violations)
  • make test-unit — passed (653 tests)
  • make test-integration-task-field — passed (5 tests, 16 assertions)

Closes #395

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mesilov mesilov added this to the 3.1.0 milestone Mar 26, 2026
@mesilov mesilov self-assigned this Mar 26, 2026
@mesilov mesilov linked an issue Mar 26, 2026 that may be closed by this pull request
@mesilov mesilov merged commit 7127fc4 into v3-dev Mar 26, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature in SDK]: Add support for tasks.task.field.*

1 participant