Skip to content

[JENKINS-68288] Object context in BuildCondition.meetsCondition is sometimes a Stage instance, which is not recognized by BuildCondition.getCombinedResult #1460

@jenkins-infra-bot

Description

@jenkins-infra-bot

If BuildCondition.getCombinedResult is called in relation to a stage, then its Object context parameter can be either a Stage instance or the name of the stage as a String. BuildCondition.getCombinedResult however recognizes only the String type and not the Stage type. If a Stage instance is passed in, then BuildCondition.getCombinedResult does not search for a WarningAction in the stage, and might compute an incorrect Result.

I found this while looking at the source code for the sake of JENKINS-68281. I have not reproduced the problem in practice.

This inconsistency came from PR #330 for JENKINS-57826.


Originally reported by kon, imported from: Object context in BuildCondition.meetsCondition is sometimes a Stage instance, which is not recognized by BuildCondition.getCombinedResult
  • status: Open
  • priority: Minor
  • component(s): pipeline-model-definition-plugin
  • resolution: Unresolved
  • votes: 0
  • watchers: 1
  • imported: 2025-12-06
Raw content of original issue

If BuildCondition.getCombinedResult is called in relation to a stage, then its Object context parameter can be either a Stage instance or the name of the stage as a String. BuildCondition.getCombinedResult however recognizes only the String type and not the Stage type. If a Stage instance is passed in, then BuildCondition.getCombinedResult does not search for a WarningAction in the stage, and might compute an incorrect Result.

I found this while looking at the source code for the sake of JENKINS-68281. I have not reproduced the problem in practice.

This inconsistency came from PR #330 for JENKINS-57826.

  • environment: Pipeline: Declarative 1.9.3

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions