Skip to content

Conversation

@YadingFang
Copy link
Contributor

What type of PR is this?

  • correction
  • documentation

What this PR does / why we need it:

Release v0.1.0-alpha.2 aligns the /calls REST API with the updated OpenAPI schema and CAMARA expectations. Adds CloudEvent structured-mode guarantees, normalizes event payloads, tightens sink credential schema, updates examples and docs, and adds/consolidates test scenarios.

Key changes
  • API spec (click-to-dial.yaml)

    • EventCTDStatusChanged.data.status changed from string to object { state, reason } (state required).
    • CloudEvent schema: subject required; id formatted as UUID; datacontenttype set to application/json; discriminator mapping preserved.
    • SinkCredential/AccessTokenCredential aligned to use credentialType discriminator; ACCESSTOKEN is required and concrete AccessTokenCredential requires accessToken, accessTokenExpiresUtc, accessTokenType.
    • Added CreateCallRequest example illustrating sink + sinkCredential.
    • Updated CALL_STATUS_CHANGED_EXAMPLE to the new event shape (includes subject, datacontenttype, and status.state / status.reason).
  • Documentation

    • click-to-dial_API.md: added full CloudEvent example, exhaustive 422 business error codes, and a Mermaid call-flow diagram.
    • click-to-dial_User_Story.md: updated to reflect /calls endpoints, sink/sinkCredential, and CloudEvent semantics.
    • click-to-dial-API-Readiness-Checklist.md: updated statuses, links, and notes for certification/test results.
  • Tests

    • New/renamed Gherkin feature files under Test_definitions prefixed with click-to-dial- covering event delivery, sink credential validation, content/uniqueness, and basic call flows.
  • Misc

    • Examples in docs and spec standardized to CAMARA-required structured CloudEvents (Content-Type: application/cloudevents+json) and datacontenttype: application/json.

@YadingFang YadingFang self-assigned this Dec 11, 2025
@github-actions
Copy link

github-actions bot commented Dec 11, 2025

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Elapsed time
✅ ACTION actionlint 2 0 0.01s
✅ API spectral 1 0 1.96s
✅ GHERKIN gherkin-lint 3 0 1.06s
✅ JSON jsonlint 1 0 0.16s
✅ JSON prettier 1 0 0.34s
✅ JSON v8r 1 0 2.13s
✅ REPOSITORY git_diff yes no 0.01s
✅ REPOSITORY secretlint yes no 0.76s
✅ YAML yamllint 1 0 0.44s

See detailed report in MegaLinter reports

MegaLinter is graciously provided by OX Security

@YadingFang YadingFang removed their assignment Dec 16, 2025
@hdamker
Copy link
Contributor

hdamker commented Dec 18, 2025

Great to see progress on this API, but please don't do substantial changes to the API definition within the release PR itself. Split the changes to two or more PRs:

  • the changes like adding the callback should be done in a PR against the wip version in main and referring to (an) issue(s) (there are no issues created and discussed as far as I can see).
  • the release PR should only change the release related files (CHANGELOG.md, README.md, Readiness Checklist) and within the API and test definitions ONLY set the versions and server/resource URLs.

In the current form the PR can't be sufficiently reviewed/approved by ReleaseManagement as there are too many changes at once. A full review is not mandatory for an alpha release, but then it is even more important that the change of the CHANGELOG.md is not mixed with other changes.

cc: @tanjadegroot

@YadingFang
Copy link
Contributor Author

Great to see progress on this API, but please don't do substantial changes to the API definition within the release PR itself. Split the changes to two or more PRs:

  • the changes like adding the callback should be done in a PR against the wip version in main and referring to (an) issue(s) (there are no issues created and discussed as far as I can see).
  • the release PR should only change the release related files (CHANGELOG.md, README.md, Readiness Checklist) and within the API and test definitions ONLY set the versions and server/resource URLs.

In the current form the PR can't be sufficiently reviewed/approved by ReleaseManagement as there are too many changes at once. A full review is not mandatory for an alpha release, but then it is even more important that the change of the CHANGELOG.md is not mixed with other changes.

cc: @tanjadegroot

Hi @hdamker, thanks for the guidance.

I’ve split the changes as suggested:

PR #65 supersedes this PR (#61). Thanks again for helping us keep the release review lightweight and focused.

@YadingFang
Copy link
Contributor Author

Closing as superseded by #65; substantial changes moved to #63/#64.

@YadingFang YadingFang closed this Dec 19, 2025
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.

3 participants