tripping on line 78, not sure why
All checks were successful
gitea.arg.rip/deployment/pipeline/head This commit looks good
All checks were successful
gitea.arg.rip/deployment/pipeline/head This commit looks good
This commit is contained in:
parent
51b87b720b
commit
9009120546
@ -1 +1,94 @@
|
|||||||
//TODO
|
pipeline {
|
||||||
|
agent any
|
||||||
|
parameters {
|
||||||
|
string(name: 'videoname', description: "video name")
|
||||||
|
string(name: 'videodesc', description: "video description")
|
||||||
|
}
|
||||||
|
environment {
|
||||||
|
GITEATOKEN = credentials('d0e86441-2157-405f-8539-a9a9010c6ecf')
|
||||||
|
JENKINSMATRIX=credentials('040b63d1-2f14-4692-badb-114bddd7c5a5')
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage("environment setup") {
|
||||||
|
steps{
|
||||||
|
script{
|
||||||
|
if (videoname.isEmpty()) {
|
||||||
|
error("videoname mandatory")
|
||||||
|
}
|
||||||
|
if (videoname.contains(' ')) {
|
||||||
|
error("videoname cannot have spaces. try dashes.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("create gitea project"){
|
||||||
|
steps{
|
||||||
|
sh """
|
||||||
|
curl -X 'POST' \
|
||||||
|
'https://gitea.arg.rip/api/v1/repos/beefhavers/_videotemplate/generate' \
|
||||||
|
-H 'accept: application/json' \
|
||||||
|
-H 'Authorization: token ${env.GITEATOKEN}' \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-d '{
|
||||||
|
"description": "${videodesc}",
|
||||||
|
"git_content": true,
|
||||||
|
"git_hooks": true,
|
||||||
|
"labels": true,
|
||||||
|
"name": "${videoname}",
|
||||||
|
"owner": "beefhavers",
|
||||||
|
"private": false,
|
||||||
|
"protected_branch": true,
|
||||||
|
"topics": true,
|
||||||
|
"webhooks": true
|
||||||
|
}'
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("create matrix room"){
|
||||||
|
steps{
|
||||||
|
env.roomId=sh(returnStdout: true, script: """curl -X 'POST' \
|
||||||
|
'https://greyn.club:8448/_matrix/client/v3/createRoom' \
|
||||||
|
-H 'accept: application/json' \
|
||||||
|
-H 'Authorization: Bearer ${JENKINSMATRIX}}' \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-d '{
|
||||||
|
"creation_content": {
|
||||||
|
"m.federate": false
|
||||||
|
},
|
||||||
|
"name": "${videoname}",
|
||||||
|
"preset": "public_chat",
|
||||||
|
"invite": ["@adam:greyn.club", "@gitea:greyn.club"],
|
||||||
|
"topic": "[link to gitea project]"
|
||||||
|
}' | jq .room_id
|
||||||
|
""").trim()
|
||||||
|
}
|
||||||
|
stage("link gitea webhook"){
|
||||||
|
steps{
|
||||||
|
sh """
|
||||||
|
curl -X 'GET' 'https://gitea.arg.rip/api/v1/repos/beefhavers/${videoname}/hooks' \
|
||||||
|
-H 'accept: application/json' \
|
||||||
|
-H 'authorization: token ${env.GITEATOKEN}' \
|
||||||
|
>reporesponse.json
|
||||||
|
"""
|
||||||
|
|
||||||
|
sh """
|
||||||
|
curl -X 'PATCH' 'https://gitea.arg.rip/api/v1/repos/beefhavers/${videoname}/hooks' \
|
||||||
|
-H 'accept: application/json' \
|
||||||
|
-H 'authorization: token ${env.GITEATOKEN}' \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-d '{
|
||||||
|
"active": true,
|
||||||
|
"authorization_header": $$(cat reporesponse.json | jq .[0].authorization_header),
|
||||||
|
"branch_filter": "*",
|
||||||
|
"config": {
|
||||||
|
"content_type": "json",
|
||||||
|
"url": "https://greyn.club:8448/_matrix/client/r0/rooms/$$(echo ${env.roomId} | sed 's/!/%21/')/send/m.room.message"
|
||||||
|
},
|
||||||
|
"events": $$(cat reporesponse.json | jq .[0].events)
|
||||||
|
}'
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user