gitea: publication d'une notification sur le canal jenkins lors d'une release
This commit is contained in:
parent
c5fb279a11
commit
50310eee17
|
@ -101,6 +101,18 @@ void release(String credentialsId, String org, String project, Map options = [:]
|
|||
deleteDir()
|
||||
}
|
||||
}
|
||||
|
||||
rocketSend(
|
||||
avatar: 'https://jenkins.cadol.es/static/b5f67753/images/headshot.png',
|
||||
message: """
|
||||
Nouvelle version publiée pour le projet `${org}/${project}`: [${releaseName}](${baseUrl}/${org}/${project}/releases/tag/${releaseVersion})
|
||||
|
||||
[Visualiser le job](${env.RUN_DISPLAY_URL})
|
||||
|
||||
@${utils.getBuildUser()}
|
||||
""".stripIndent(),
|
||||
rawMessage: true
|
||||
)
|
||||
}
|
||||
|
||||
// Télécharge les fichiers associés à une "version" publiée sur un projet Gitea
|
||||
|
|
|
@ -10,4 +10,35 @@ void when(Boolean condition, body) {
|
|||
} else {
|
||||
Utils.markStageSkippedForConditional(STAGE_NAME)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NonCPS
|
||||
String getBuildUser() {
|
||||
def build = currentBuild.rawBuild
|
||||
String buildUser = ''
|
||||
|
||||
// On essaie de récupérer l'utilisateur à l'origine de l'exécution du job
|
||||
try {
|
||||
def cause = build.getCause(hudson.model.Cause.UserIdCause.class)
|
||||
buildUser = cause.getUserName()
|
||||
} catch (Exception ex) {
|
||||
// On ignore l'erreur
|
||||
}
|
||||
|
||||
if (buildUser == '') {
|
||||
// Si on a pas réussi à retrouver l'utilisateur, on récupère celui du commit courant
|
||||
try {
|
||||
def committerUsername = sh(script: 'git --no-pager show -s --format=\'%ae\' | cut -d\'@\' -f1', returnStdout: true).trim()
|
||||
buildUser = committerUsername
|
||||
} catch (Exception ex) {
|
||||
// On ignore l'erreur
|
||||
}
|
||||
}
|
||||
|
||||
if (buildUser == '') {
|
||||
// Par défaut, on considère que jenkins est à l'origine du job
|
||||
buildUser = 'jenkins'
|
||||
}
|
||||
|
||||
return buildUser
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue