how2-manage-passwords/Jenkinsfile
2025-04-26 14:33:03 -04:00

74 lines
2.9 KiB
Groovy

pipeline {
agent any
environment {
JENKINSONGITEA=credentials('d0e86441-2157-405f-8539-a9a9010c6ecf')
JENKINSONMATRIXTOKEN=credentials('17d18fd7-29eb-4957-9532-ce42aaa9b4ec')
MATRIX_ROOMID="!lDTUdHFebpGICSEIkK:greyn.club"
GITEA_PROJECT="https://gitea.arg.rip/beefhavers/how2-manage-passwords"
}
stages {
stage('meta: avatar'){
when { changeset "metadata/avatar.png"}
steps {
script{
//to gitea
sh(returnStdout: true, script: """
echo "{\\\"image\": \"\$(base64 --wrap=0 metadata/avatar.png)\"}" > post.json
curl -X 'POST' \
'https://gitea.arg.rip/api/v1/repos/beefhavers/how2-manage-passwords/avatar' \
-H 'accept: application/json' \
-H 'Authorization: token ${env.JENKINSONGITEA}' \
-H 'Content-Type: application/json' \
--data-binary @post.json
# rm post.json
""")
//to matrix
env.avatarMXC=sh(returnStdout: true, script: """
url="https://greyn.club:8448/_matrix/media/v3/upload"'?'"filename=how2-manage-passwords-avatar-\$(mktemp -u XXX).png"
curl "\$url" \
-X 'POST' \
-H 'authorization: Bearer ${env.JENKINSONMATRIXTOKEN}' \
-H 'Content-Type: image/png' \
--compressed \
--data-binary @metadata/avatar.png \
| jq -r .content_uri
""").trim()
sh(returnStdout: true, script: """
curl -X 'PUT' \
'https://greyn.club:8448/_matrix/client/v3/rooms/${env.MATRIX_ROOMID}/state/m.room.avatar' \
-H 'accept: application/json' \
-H 'authorization: Bearer ${env.JENKINSONMATRIXTOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"url": "${env.avatarMXC}"
}'
""")
}
}
}
stage('script'){
when { changeset "src/script.md"}
steps {
sh "/home/adam/beef-kafka-script.sh how2-manage-passwords"
}
}
stage('credits'){
when { changeset "src/credits.txt"}
steps {
sh "/home/adam/beef-kafka-credits.sh how2-manage-passwords"
}
}
stage('blend'){
when { changeset "video.blend"}
steps {
sh "/home/adam/beef-kafka-video.sh how2-manage-passwords"
}
}
}
}