pipeline { agent any parameters { string( defaultValue: '50', description: 'number of examples in dataset', name: 'CUTOFF' ) } stages { stage('Preparation') { when { expression { true } } steps { script { try { properties([ parameters([ string( defaultValue: '', description: 'Kaggle username', name: 'KAGGLE_USERNAME', trim: false ), password( defaultValue: '', description: 'Kaggle token taken from kaggle.json file', name: 'KAGGLE_KEY' ) ]) ]) } catch (err) { error "Failed to set up parameters: ${err.message}" } } } } stage('Build') { when { expression { params.KAGGLE_USERNAME && params.KAGGLE_KEY } } steps { script { try { withEnv(["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}", "KAGGLE_KEY=${params.KAGGLE_KEY}" ]) { sh 'echo KAGGLE_USERNAME: $KAGGLE_USERNAME' sh ''' #!/bin/bash pip install kaggle kaggle datasets download -d nitishsharma01/olympics-124-years-datasettill-2020 unzip -o olympics-124-years-datasettill-2020.zip echo "Processed Data" > output.txt ''' sh "head -n ${params.CUTOFF} olympics-124-years-datasettill-2020/Athletes_summer_games.csv" } } catch (err) { error "Failed to build: ${err.message}" } } } } stage('Clone Git Repository') { when { expression { params.KAGGLE_USERNAME && params.KAGGLE_KEY } } steps { script { try { git 'https://git.wmi.amu.edu.pl/s487187/ium_487187.git' } catch (err) { error "Failed to clone repository: ${err.message}" } } } } stage('End') { when { expression { params.KAGGLE_USERNAME && params.KAGGLE_KEY } } steps { echo 'Program ended!' } } } post { always { archiveArtifacts 'output.txt' } } }