Skip to content

Demo: API changes with oasdiff PR comment#2

Open
reuvenharrison wants to merge 13 commits intomainfrom
demo/pr-comment
Open

Demo: API changes with oasdiff PR comment#2
reuvenharrison wants to merge 13 commits intomainfrom
demo/pr-comment

Conversation

@reuvenharrison
Copy link
Copy Markdown
Collaborator

This PR demonstrates the oasdiff PR comment feature.

API changes in this PR:

  • Remove 400 response from POST /api/v1.0/groups (breaking)
  • Remove pattern constraint from created field (breaking)
  • Add description property to GroupView (info)
  • Add GET /api/v1.0/groups/{groupId} endpoint (info)

The pr-comment workflow will automatically post an oasdiff API change report as a comment on this PR.

- Remove 400 response from POST /api/v1.0/groups
- Remove pattern constraint from 'created' field
- Add 'description' property to GroupView
- Add GET /api/v1.0/groups/{groupId} endpoint
- Add pr-comment workflow to demonstrate oasdiff PR comment
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 1, 2026

oasdiff API Change Report

🔴 1 breaking change · 🟢 2 info

Severity Change Path Location
🔴 api path removed without deprecation POST /api/v1.0/groups simple.yaml:36
🟢 endpoint added GET /api/v1.0/groups/{groupId} simple.yaml:57
🟢 endpoint added POST /api/v1.2/groups simple.yaml:37

Compared at commit d085c86

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 new-optional-request-property — added the new optional request property 'data/description'

type: string
format: date-time
readOnly: true
pattern: "^[a-z]+$"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 request-property-pattern-removed — removed the pattern '^[a-z]+$' from the request property 'data/created'

schema:
$ref: '#/components/schemas/GroupView'
description: SUCCESS
"400":
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-non-success-status-removed — removed the non-success response with the status '400'

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-optional-property-added — added the optional property 'data/description' to the response with the '200' status

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 new-optional-request-property — added the new optional request property 'data/description'

type: string
format: date-time
readOnly: true
pattern: "^[a-z]+$"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-property-pattern-removed — the 'data/created' response's property pattern '^[a-z]+$' was removed for the status '200'

type: string
format: date-time
readOnly: true
pattern: "^[a-z]+$"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 request-property-pattern-removed — removed the pattern '^[a-z]+$' from the request property 'data/created'

schema:
$ref: '#/components/schemas/GroupView'
description: SUCCESS
"400":
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-non-success-status-removed — removed the non-success response with the status '400'

"400":
summary: Create a Project
/api/v1.0/groups/{groupId}:
get:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-optional-property-added — added the optional property 'data/description' to the response with the '200' status

type: string
format: date-time
readOnly: true
pattern: "^[a-z]+$"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-property-pattern-removed — the 'data/created' response's property pattern '^[a-z]+$' was removed for the status '200'

"400":
summary: Create a Project
/api/v1.0/groups/{groupId}:
get:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 new-optional-request-property — added the new optional request property 'data/description'

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 new-optional-request-property — added the new optional request property 'data/description'

type: string
format: date-time
readOnly: true
pattern: "^[a-z]+$"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 request-property-pattern-removed — removed the pattern '^[a-z]+$' from the request property 'data/created'

type: string
format: date-time
readOnly: true
pattern: "^[a-z]+$"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 request-property-pattern-removed — removed the pattern '^[a-z]+$' from the request property 'data/created'

schema:
$ref: '#/components/schemas/GroupView'
description: SUCCESS
"400":
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-non-success-status-removed — removed the non-success response with the status '400'

schema:
$ref: '#/components/schemas/GroupView'
description: SUCCESS
"400":
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-non-success-status-removed — removed the non-success response with the status '400'

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-optional-property-added — added the optional property 'data/description' to the response with the '200' status

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-optional-property-added — added the optional property 'data/description' to the response with the '200' status

simple.yaml Outdated
type: string
required:
- name
- id
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-property-became-required — the response property 'data/id' became required for the status '200'

simple.yaml Outdated
type: string
required:
- name
- id
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-property-became-required — the response property 'data/id' became required for the status '200'

type: string
format: date-time
readOnly: true
pattern: "^[a-z]+$"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 request-property-pattern-removed — removed the pattern '^[a-z]+$' from the request property 'data/created'

schema:
$ref: '#/components/schemas/GroupView'
description: SUCCESS
"400":
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-non-success-status-removed — removed the non-success response with the status '400'

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 new-optional-request-property — added the new optional request property 'data/description'

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-optional-property-added — added the optional property 'data/description' to the response with the '200' status

type: string
format: date-time
readOnly: true
pattern: "^[a-z]+$"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-property-pattern-removed — the 'data/created' response's property pattern '^[a-z]+$' was removed for the status '200'

type: string
format: date-time
readOnly: true
pattern: "^[a-z]+$"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 request-property-pattern-removed — removed the pattern '^[a-z]+$' from the request property 'data/created'

"400":
summary: Create a Project
/api/v1.0/groups/{groupId}:
get:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

schema:
$ref: '#/components/schemas/GroupView'
description: SUCCESS
"400":
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-non-success-status-removed — removed the non-success response with the status '400'

readOnly: true
name:
type: string
description:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-optional-property-added — added the optional property 'data/description' to the response with the '200' status

type: string
format: date-time
readOnly: true
pattern: "^[a-z]+$"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 response-property-pattern-removed — the 'data/created' response's property pattern '^[a-z]+$' was removed for the status '200'

"400":
summary: Create a Project
/api/v1.0/groups/{groupId}:
get:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

paths:
/api/v1.0/groups:
/api/v1.1/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 api-path-removed-without-deprecation — api path removed without deprecation

paths:
/api/v1.0/groups:
/api/v1.1/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 api-path-removed-without-deprecation — api path removed without deprecation

"400":
summary: Create a Project
/api/v1.0/groups/{groupId}:
get:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

"400":
summary: Create a Project
/api/v1.0/groups/{groupId}:
get:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

paths:
/api/v1.0/groups:
/api/v1.1/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

paths:
/api/v1.0/groups:
/api/v1.1/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

paths:
/api/v1.0/groups:
/api/v1.1/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 api-path-removed-without-deprecation — api path removed without deprecation

paths:
/api/v1.0/groups:
/api/v1.1/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

paths:
/api/v1.0/groups:
/api/v1.1/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 api-path-removed-without-deprecation — api path removed without deprecation

paths:
/api/v1.0/groups:
/api/v1.1/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

paths:
/api/v1.0/groups:
/api/v1.2/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 api-path-removed-without-deprecation — api path removed without deprecation

paths:
/api/v1.0/groups:
/api/v1.2/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

paths:
/api/v1.0/groups:
/api/v1.2/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 api-path-removed-without-deprecation — api path removed without deprecation

paths:
/api/v1.0/groups:
/api/v1.2/groups:
post:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 endpoint-added — endpoint added

reuvenharrison and others added 2 commits March 19, 2026 14:07
- Revert simple.yaml to clean state (remove test breaking changes)
- Switch action from @phase3-action-payload to @v0.0.33
- Remove service-url override (now uses production api.oasdiff.com)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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