node { stage('Preparation') { properties([ parameters([ string( defaultValue: 'michal2608', description: 'Kaggle username', name: 'KAGGLE_USERNAME', trim: false ), password( defaultValue: '', description: 'Kaggle token taken from kaggle.json file, as described in https://github.com/Kaggle/kaggle-api#api-credentials', name: 'KAGGLE_KEY' ), string( defaultValue: '117926', description: 'Number of positions to be saved', name: 'CUTOFF', trim: false) ]) ]) } stage('Build') { // Run the maven build withEnv(["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}", "KAGGLE_KEY=${params.KAGGLE_KEY}" ]) { sh 'echo KAGGLE_USERNAME: $KAGGLE_USERNAME' sh 'kaggle datasets list' } } stage('Download data') { checkout scmGit(branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[url: 'https://git.wmi.amu.edu.pl/s452662/ium_452662']]) } stage('Cut data') { withEnv(["CUTOFF=${params.CUTOFF}"]) { sh '''kaggle datasets download -d aleksandrglotov/car-prices-poland unzip -o car-prices-poland.zip wc -l Car_Prices_Poland_Kaggle.csv head -n $(($CUTTOFF / 10)) Car_Prices_Poland_Kaggle.csv > cars_test.csv head -n $(($CUTTOFF / 5)) Car_Prices_Poland_Kaggle.csv | tail $(($CUTTOFF / -10)) > cars_dev.csv head -n $(($CUTTOFF) Car_Prices_Poland_Kaggle.csv | tail $(($CUTTOFF * (-4 / 5) )) > cars_train.csv'''} } stage('Save data into artifacts') { archiveArtifacts artifacts: '*.csv', followSymlinks: false } }