pipeline { agent any triggers { // Every Friday at 07:15 cron('15 7 * * 5') } options { timeout(time: 15, unit: 'MINUTES') timestamps() buildDiscarder(logRotator(numToKeepStr: '10')) disableConcurrentBuilds() } stages { stage('Install dependencies') { steps { sh """ python3 -m venv venv . venv/bin/activate pip install --upgrade pip --quiet pip install --quiet atproto """ } } stage('Post Dijous') { steps { // Securely injects Jenkins credentials as environment variables withCredentials([ string(credentialsId: 'BSKY_GROMENAWARE_HANDLE', variable: 'BSKY_GROMENAWARE_HANDLE'), string(credentialsId: 'BSKY_GROMENAWARE_APP_PASSWORD', variable: 'BSKY_GROMENAWARE_APP_PASSWORD') ]) sh """ . venv/bin/activate python3 bsky_post.py "DIVENDRES!!!!!!" \\ --username "\$BSKY_HANDLE" \\ --password "\$BSKY_APP_PASSWORD" \\ --image media/divendres.mp4 \\ --alt "DIVENDRES!!" \\ --lang ca """ } } } post { success { echo '✅ Divendres post published successfully.' } failure { echo '❌ Divendres post failed.' } } }