我有一个与从Jenkins向Slack发送消息有关的问题(常规脚本)。 目前,我使用SlackNotificationPlugin向Slack发送消息,并且尝试发送整个Slack宽度的行,但是,我只能使用Slack宽度的一半来代替。
我使用以下代码:
msg = readJSON text: """
{
"pretext": "<placeholder>",
"text": "<placeholder>",
"color": "good",
"mrkdwn_in": [
"pretext",
"text"
],
"fields": [
{
"title": "A field's title",
"value": "This field's valueaaaaaaaaaaaa valueaaaaaaaaaaaa valueaaaaaaaaaaaa valueaaaaaaaaaaaa valueaaaaaaaaaaaa valueaaaaaaaaaaaa valueaaaaaaaaaaaa",
"short": false
},
{
"title": "A short field's title",
"value": "A short field's value",
"short": true
},
{
"title": "A second short field's title",
"value": "A second short field's value",
"short": true
}
],
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Alternative hotel options*"
}
}
]
}
"""
msg.pretext = pretext.inspect()
msg.text = text.inspect()
slack_channel = partner_channel
slackSend(channel: slack_channel, color: 'good', attachments: "[${msg.toString()}]")
在下面的屏幕截图中,您可以看到Packages Difference,它仅显示在页面的一半。
我找到了针对这种情况的解决方案,并在Slack Block Kit Builder中对其进行了测试:
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "```{8}```"
}
}
]
}
它是Slack Block Kit Builder,我可以成功发送一条消息并使用Slack的整个空间:
在Jenkins Slack插件(https://plugins.jenkins.io/slack/)的官方文档中,我发现对于发送块,我们可以使用以下结构:
blocks = [
[
"type": "section",
"text": [
"type": "mrkdwn",
"text": "Hello, Assistant to the Regional Manager Dwight! *Michael Scott* wants to know where you'd like to take the Paper Company investors to dinner tonight.\n\n *Please select a restaurant:*"
]
],
[
"type": "divider"
],
[
"type": "section",
"text": [
"type": "mrkdwn",
"text": "*Farmhouse Thai Cuisine*\n:star::star::star::star: 1528 reviews\n They do have some vegan options, like the roti and curry, plus they have a ton of salad stuff and noodles can be ordered without meat!! They have something for everyone here"
],
"accessory": [
"type": "image",
"image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/c7ed05m9lC2EmA3Aruue7A/o.jpg",
"alt_text": "alt text for image"
]
]
]
slackSend(channel: "#general", blocks: blocks)
上述代码对我不起作用,当我使用块构造时,Slack中没有任何内容。 有人可以帮我吗?我不使用任何Bot用户,我只想将Jenkins的输出发送到Slack。
谢谢。