【发布时间】:2019-04-04 11:32:40
【问题描述】:
我想要一个 Jenkinsfile 运行时生成的 slack 文本文件。但我无法做到这一点。请帮帮我
我也尝试使用 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 Token 。我在 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 令牌而不是 Github 令牌来进行身份验证。此外,如果您无法使用 Slack 令牌进行身份验证,Slack 有一个 REST API 可以执行此操作,此时您无法使用
slackSend类。 -
我只使用了 slack 令牌
标签: python jenkins-pipeline slack-api jenkins-cli