Search code examples
google-container-builder

Container Builder Slack Notifications


we're testing out CB and part of our requirements is sending messages to Slack.

This tutorial works great, but it'd be helpful if we could specify the source of the build, so we don't have to click in to the message to see what repo/trigger failed/succeeded.

Is there a variable we can pass to the cloud function in the tutorial? I couldn't find helpful documentation.

Ideally, it would be great if CB had an integration/slack GUI that made these options configurable but c'est la vie.


Solution

  • You can add source information to the slack message by adding a new item to the fields list within the createSlackMessage function. You need to make sure title and value are strings.

    // createSlackMessage create a message from a build object.
    const createSlackMessage = (build) => {
      let message = {
       text: `Build \`${build.id}\``,
        mrkdwn: true,
        attachments: [
          {
            title: 'Build logs',
            title_link: build.logUrl,
            fields: [{
              title: 'Status',
              value: build.status
            },{
              title: 'Source',
              value: JSON.stringify(build.source, null, 2)
            }]
          }
        ]
      };
      return message
    }
    

    You can find more information on build object here.