Slack Notification上传/附加日志文件

问题描述 投票:1回答:1

我准备了一个jenkins管道,在该管道下,如果任何步骤失败,那么Jenkins然后通过包含Job Console输出URL的链接在相应的备用通道上发送通知。我正在计划获取输出日志,并将其作为附件发送给通道,如果作业介于两者之间但不是URL失败(我不希望任何人登录jenkins来检查日志)。

当前我正在做的(工作正常):

    stage ('1- Pull SourceCode')
    {
        try
        {
            node
            {
                print "Test SVN Checkout"
                //checkout command
            }
        }
        catch(Exception e)
        {
            currentBuild.result = 'FAILURE'
            slackSend (channel: '#channelname', color: '#FF0000', message: "Stage 1 Failed : check  error logs at ${env.JOB_URL}" , teamDomain: 'xyz', token: 'token')
        }
    }

有人可以通过slackSend命令帮助我,该命令从某个位置选择日志文件并将其作为附件发送到通道。要么slackSend命令发送管道stage日志作为松弛通道的附件。

groovy slack
1个回答
0
投票

尝试以下代码,您可以在其中传递jenkins控制台日志或引用URL:https://jenkins.io/doc/pipeline/steps/slack/

#!/bin/groovy

def jenkinsConsoleUrl = "$env.JOB_URL" + "$env.BUILD_NUMBER" + "/consoleText"
node('mynode') {
    stage("Build") {
        def attachments = ""
        "[ { \"text\": \"And here’s an attachment!\" } ]"
        ""
        echo(attachments)
        slackSend(channel: "channel_name", color: "colorcode", message: "Test message" + jenkinsConsoleUrl, attachments: attachments)
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.