Skip to content

Add status_changed issues activity type - #398

Open
lumaxis wants to merge 2 commits into
actions:mainfrom
lumaxis:issues-status-changed-activity-type
Open

lumaxis wants to merge 2 commits into
actions:mainfrom
lumaxis:issues-status-changed-activity-type

Conversation

@lumaxis

@lumaxis lumaxis commented Nov 12, 2026

Copy link
Copy Markdown

GitHub sends the issues webhook with a status_changed action when an issue's status changes, and includes status on the issue in issues payloads (github/rest-api-description#7448). Workflows can filter on it with on: issues: types: [status_changed], but the editor reports it as an unexpected value. Issue statuses are in preview and only available to accounts enrolled in the preview.

  • Adds status_changed to the issues activity types in workflow-v1.0.json and events-mapping-all.yml.
  • Updates rest-api-description to 5c36b6f and regenerates webhooks.json and objects.json with npm run update-webhooks, so github.event.status, github.event.changes.status.from and github.event.issue.status complete. This also picks up the other webhook changes since the last update, such as label.archived_at and labels on issues, discussions and pull requests.
  • Adds the new issue_relates_to webhook to DROPPED_EVENTS, since it isn't a workflow trigger, and lists label archived and unarchived as webhook-only in the schema-sync test.
  • Adds completion, validation and payload tests, and status to the expected issue properties.

GitHub sends the `issues` event with the `status_changed` action when the
status of an issue changes, and includes `status` on the issue in `issues`
payloads. Workflow authors can filter on it with
`types: [status_changed]`, but the editor reports it as an unexpected value.

- Add `status_changed` to the `issues` activity types in workflow-v1.0.json
  and to the reader test data.
- Update rest-api-description to 5c36b6f, which publishes the
  `status_changed` webhook and `status` on issues, and regenerate
  webhooks.json and objects.json with `npm run update-webhooks`, so
  `github.event.status`, `github.event.changes` and
  `github.event.issue.status` complete. This also picks up other changes
  made to the webhook descriptions since the last update.
- Add `issue_relates_to` to DROPPED_EVENTS: it's not a workflow trigger.
- Add `label` `archived` and `unarchived` to the schema-sync test's
  WEBHOOK_ONLY list: they're not listed as workflow trigger activity types.
- Add completion, validation and payload tests, and add `status` to the
  expected issue properties.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@lumaxis
lumaxis requested a review from a team as a code owner November 12, 2026 14:03
Copilot AI balanced review requested due to automatic review settings November 12, 2026 14:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues remain for the changes adding issue status-change support.

No open issues 🎉

What changed in this PR

Adds editor support for the preview issues.status_changed activity type, aligning workflow validation, completion, and event payload metadata with GitHub’s webhook schema.

Changes:

  • Accepts and suggests status_changed in issue trigger filters.
  • Updates the webhook schema dependency and generated payload data to expose issue status fields and other upstream additions.
  • Adds regression tests and updates exclusions for webhook-only events and actions.
File Description
workflow-parser/​testdata/​reader/​events-mapping-all.yml Adds status_changed to the parser fixture and expected output.
workflow-parser/​src/​workflow-v1.0.json Adds the activity type to the workflow schema and documentation.
workflow-parser/​src/​schema-sync.test.ts Excludes webhook-only label archival actions from schema comparison.
package-lock.json Updates the pinned rest-api-description commit.
languageservice/​src/​validate.test.ts Tests validation of the new activity type.
languageservice/​src/​context-providers/​github.test.ts Adds status to expected issue context properties.
languageservice/​src/​context-providers/​events/​webhooks.json Regenerates action payloads, including status_changed.
languageservice/​src/​context-providers/​events/​objects.json Regenerates shared payload objects with status and upstream fields.
languageservice/​src/​context-providers/​events/​eventPayloads.test.ts Tests status-change payload fields and previous-status access.
languageservice/​src/​complete.test.ts Tests completion of status_changed in trigger filters.
languageservice/​script/​webhooks/​index.ts Excludes the non-trigger issue_relates_to webhook from generation.

Review effort: Balanced

Pin rest-api-description to bd6df26 and regenerate webhooks.json and
objects.json with `npm run update-webhooks`. This updates the planning
status `id` descriptions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
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.

2 participants