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

时间:2019-04-04 11:32:41

标签: python jenkins-pipeline slack-api jenkins-cli

我想让我的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"
        }
    }
}

我也尝试使用松弛令牌。我在松弛状态下创建了一个应用,并给了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将文件上传到松弛状态。

1 个答案:

答案 0 :(得分:0)

您可以使用Slack Uploader Plugin将文件发送到备用频道。但是它似乎没有管道支持。

因此,您可以使用slack API使用curl命令来实现它:

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