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

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
"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

Comment thread simple.yaml
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

Comment thread simple.yaml
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'

Comment thread simple.yaml
"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

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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

Comment thread simple.yaml
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

Comment thread 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'

Comment thread 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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
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

Comment thread simple.yaml
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'

Comment thread simple.yaml
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'

Comment thread simple.yaml
"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

Comment thread simple.yaml
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'

Comment thread simple.yaml
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

Comment thread simple.yaml
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'

Comment thread simple.yaml
"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

Comment thread simple.yaml
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

Comment thread simple.yaml
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

Comment thread simple.yaml
"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

Comment thread simple.yaml
"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

Comment thread simple.yaml
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

Comment thread simple.yaml
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

Comment thread simple.yaml
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

Comment thread simple.yaml
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

Comment thread simple.yaml
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

Comment thread simple.yaml
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

Comment thread simple.yaml
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

Comment thread simple.yaml
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

Comment thread simple.yaml
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

Comment thread simple.yaml
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