How to pass groovy output to pipeline variable I have the below code in the jenkisn pipeline:

   stage ("amd_distribution_input_transformation"){
        steps{
            script{
                    amd_distribution_input_transformation url: params.DOMAIN_DESCRIPTOR_URL, secret: params.CERDENITAL_ID
                }
            }
        }


groovy code:

def call(Map parameters)
{
    def CREDENITAL_ID = parameters.secret
    def DOMAIN_DESCRIPTOR_URL = parameters.url
    sh '''
        python amd_distribution_input_transformation.py
      '''
    }             
}


in the amd_distribution_input_transformation.py some code is running, and at the end, it returns JSON object named 'artifacts_list'

my question is, how can I access this object in my next stage in the pipeline:

stage ("create bundle"){
            steps{
                script{
                    amd_distribution_create_bundle credential_id: artifacts_list
                    }
                }
            }
You can send the output of your python script to stdout and capture it in a environment variable and that variable can be passed to other stages in the pipeline. Also, the environment variables can be used inside the scripts.

You can do something like this:

def call(Map parameters)
{
    def CREDENITAL_ID = parameters.secret
    def DOMAIN_DESCRIPTOR_URL = parameters.url
    env.artifacts = sh(script: "python amd_distribution_input_transformation.py", returnStdout: true )

    }             
}


Here, the output of the script amd_distribution_input_transformation.py will be stored in the variable artifacts and will be available further.