Skip to content

Add HumanResources scope support#521

Open
mesilov wants to merge 2 commits into
v3-devfrom
feature/517-add-humanresources-scope
Open

Add HumanResources scope support#521
mesilov wants to merge 2 commits into
v3-devfrom
feature/517-add-humanresources-scope

Conversation

@mesilov

@mesilov mesilov commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator
Q A
Bug fix? no
New feature? yes
Deprecations? no
Issues Fix #517
License MIT

Adds typed REST v3 SDK support for the humanresources.* scope.

The PR introduces Services\HumanResources\HumanResourcesServiceBuilder and service wrappers for employees, org-structure nodes, node communications, and node members. Field metadata endpoints are implemented as dedicated services (EmployeeField, NodeField, NodeMemberField) so future *.field.get and *.field.list work follows the same pattern.

Result wrappers and item annotations are added for the supported response shapes, with unit coverage for exact REST method names, parameters, and ApiVersion::v3.

Test plan

  • make lint-cs-fixer — passed
  • make lint-rector — passed
  • make lint-phpstan — passed
  • make lint-deptrac — passed
  • make test-unit — passed (1003 tests, 2853 assertions)
  • make test-integration-scope-humanresources BITRIX24_WEBHOOK=... — passed with 12 skipped because the current test portal lacks the humanresources scope (BITRIX_REST_V3_EXCEPTION_INSUFFICIENTSCOPEEXCEPTION)

Closes #517

@mesilov mesilov modified the milestones: 3.5.0, 3.4.0 Jun 30, 2026
@mesilov mesilov marked this pull request as ready for review June 30, 2026 06:49

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 897df1307f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

use Bitrix24\SDK\Core\Credentials\Scope;
use Bitrix24\SDK\Services\AbstractServiceBuilder;

#[ApiServiceBuilderMetadata(new Scope(['humanresources']))]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Register the humanresources scope code

When this metadata is instantiated (for example by AttributesParser/coverage tooling or by consumers declaring an ApplicationProfile for the new scope), Scope validates the code against Scope::$availableScope, which currently includes humanresources.hcmlink but not humanresources. That makes the new HumanResources scope throw UnknownScopeCodeException during metadata parsing or scope construction, so the SDK cannot actually advertise/request the scope added by this change until the allowed-scope list is updated.

Useful? React with 👍 / 👎.

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.

1 participant