如何将詹金斯生成的文本文件发送到我的松弛频道



我想要一个文本文件来松弛,该文件是在运行我的 Jenkinsfile 时生成的。但我做不到.请帮助我

我也尝试使用slackClient API,但由于我无法在Github中使用令牌,因此我无法做到这一点。


pipeline {
    agent any
    stages {
        stage('build') {
            steps {
                sh 'pip install jenkinsapi'
                sh 'pip install slackclient'
                sh 'python --version'
            }
        }
        stage('Multilabel Model And storing it into ') {
            steps {
                sh 'python multilabel_model.py'
            }
        }
         stage('Read 2 Report') {
            steps {
                sh 'python read_report.py'
            }
        }
    }
post {
        always {
            echo 'Build Started...!'
           /* archiveArtifacts artifacts: '/var/lib/jenkins/workspace/jenkins-python-test_master@tmp/gen_output.txt', onlyIfSuccessful: true */
        }
        success {
            echo 'Succeeeded...!'
            slackSend (color: '#00FF00', message: "SUCCESSFUL...! Job ")
            echo "current build12 number: ${currentBuild.number}"
            echo "/home/paras/.jenkins/workspace/test_m/${currentBuild.number}.txt"
        }
    }
}

我还尝试使用松弛令牌。我在 slack 中创建了一个应用程序,并给出了 file:write:user 范围并运行以下代码

from slackclient import SlackClient
token  = "xoxp-avcb"
sc = SlackClient(token)
sc.api_call("files.upload", filename=name_file, 
    channels='#jenkin',username='Paras Jain', 
    file1=open(filename12, 'r').read())
files.upload(token,file1)

可以分享一些示例,如何使用 jenkins 将文件上传到 Slack。

您可以使用 Slack 上传器插件将文件发送到 Slack 频道。但它似乎没有管道支持。

因此,您可以使用 curl 命令来执行此操作,使用 slack API:

curl -F file=@jenkins.txt -F channels=yourchannel -H "Authorization: Bearer your token" https://slack.com/api/files.upload

最新更新