Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-19057

ProjectName with variables in CopyArtifact < 1.26 is improperly upgraded.

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Major Major
    • copyartifact-plugin
    • None
    • CopyArtifact 1.26, 1.27

      1. Install CopyArtifact 1.25.
      2. Create a multi-configuration project like this:
        • project name: matrix
        • axis1:
          • Type: User-defined Axis
          • Name: which
          • Values: one two
      3. Create another matrix-configuration project
        • project name: matrix-copier
        • axis1:
          • Type: User-defined Axis
          • Name: which
          • Values: one two
      4. Configure CopyArtifact in matrix-copier like this:
        • Project name: matrix/which=${which}
      5. Upgrade CopyArtifact to 1.26 or later.
      6. Run a build for matrix-copier.
      7. Configuration of CopyArtifact in matrix-copier is upgraded like this:
        • Project name: matrix
        • Parameter filters: which=${which}

          [JENKINS-19057] ProjectName with variables in CopyArtifact < 1.26 is improperly upgraded.

          ikedam created issue -
          ikedam made changes -
          Description New: # Install CopyArtifact 1.25.
          # Create a multi-configuration project like this:
          ** project name: matrix
          ** axis1:
          *** Type: User-defined Axis
          *** Name: which
          *** Values: one two
          # Create another matrix-configuration project
          ** project name: matrix-copier
          ** axis1:
          *** Type: User-defined Axis
          *** Name: which
          *** Values: one two
          # Configure CopyArtifact in matrix-copier like this:
          ** Project name: matrix/which=${which}
          # Upgrade CopyArtifact to 1.26 or later.
          # Run a build for matrix-copier.
          # Configuration of CopyArtifact in matrix-copier is upgraded like this:
          ** Project name: matrix
          ** Parameter filters: which=${which}
          ikedam made changes -
          Description Original: # Install CopyArtifact 1.25.
          # Create a multi-configuration project like this:
          ** project name: matrix
          ** axis1:
          *** Type: User-defined Axis
          *** Name: which
          *** Values: one two
          # Create another matrix-configuration project
          ** project name: matrix-copier
          ** axis1:
          *** Type: User-defined Axis
          *** Name: which
          *** Values: one two
          # Configure CopyArtifact in matrix-copier like this:
          ** Project name: matrix/which=${which}
          # Upgrade CopyArtifact to 1.26 or later.
          # Run a build for matrix-copier.
          # Configuration of CopyArtifact in matrix-copier is upgraded like this:
          ** Project name: matrix
          ** Parameter filters: which=${which}
          New: # Install CopyArtifact 1.25.
          # Create a multi-configuration project like this:
          ** project name: matrix
          ** axis1:
          *** Type: User-defined Axis
          *** Name: which
          *** Values: one two
          # Create another matrix-configuration project
          ** project name: matrix-copier
          ** axis1:
          *** Type: User-defined Axis
          *** Name: which
          *** Values: one two
          # Configure CopyArtifact in matrix-copier like this:
          ** Project name: matrix/which=$\{which\}
          # Upgrade CopyArtifact to 1.26 or later.
          # Run a build for matrix-copier.
          # Configuration of CopyArtifact in matrix-copier is upgraded like this:
          ** Project name: matrix
          ** Parameter filters: which=$\{which\}

          ikedam added a comment -

          This seems caused because CopyArtifact#upgradeIfNecessary cannot find a project "matrix/which=${which}".
          This may be processed like this:

          • upgradeIfNecessary receives variables from perform.
          • Expand projectName with variables.
          • If a project named expanded projectName, consider projectName can be used as project. If not, projectName is considered contains project and parameter.

          When onCopy, variables cannot be retrieved.
          If projectName contains variables (that is, contains $), the configuration should not be upgraded.

          ikedam added a comment - This seems caused because CopyArtifact#upgradeIfNecessary cannot find a project "matrix/which=${which}". This may be processed like this: upgradeIfNecessary receives variables from perform . Expand projectName with variables. If a project named expanded projectName , consider projectName can be used as project . If not, projectName is considered contains project and parameter . When onCopy , variables cannot be retrieved. If projectName contains variables (that is, contains $), the configuration should not be upgraded.
          ikedam made changes -
          Link New: This issue is related to JENKINS-17680 [ JENKINS-17680 ]

          ikedam added a comment -

          1.26 is so old version and it's not reasonable to support it.

          ikedam added a comment - 1.26 is so old version and it's not reasonable to support it.
          ikedam made changes -
          Resolution New: Won't Fix [ 2 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 150504 ] New: JNJira + In-Review [ 193552 ]
          ikedam made changes -
          Status Original: Resolved [ 5 ] New: Closed [ 6 ]

            Unassigned Unassigned
            ikedam ikedam
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: