Skip to content

safe_outputs: created_issue_* outputs missing because emitter is never called #20125

@strawgate

Description

@strawgate

Problem

Process Safe Outputs can successfully create an issue, but does not emit:

  • created_issue_number
  • created_issue_url

This breaks workflows that gate downstream jobs on needs.<job>.outputs.created_issue_number.

Root cause

actions/setup/js/safe_outputs_action_outputs.cjs contains logic to emit created_issue_*, but actions/setup/js/safe_output_handler_manager.cjs never calls it.

Current manager path sets outputs like temporary_id_map / processed_count and error channels, but omits created_issue_* emission.

Expected behavior

If at least one create_issue succeeds during Process Safe Outputs, always set:

  • created_issue_number = first successful issue number
  • created_issue_url = first successful issue URL

Suggested fix

In safe_output_handler_manager.cjs, import and call:

  • emitSafeOutputActionOutputs(processingResult)
    after message processing completes.

Acceptance criteria

  • Successful create_issue always results in created_issue_number and created_issue_url step outputs.
  • safe_outputs job outputs expose these values for workflow callers.
  • Add regression coverage in manager tests for output emission.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions