Resource for Concourse CI to send messages to Telegram
Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Dockerfile
LICENSE
README.md
check
in
out

README.md

telegram-notification-resource

Resource for Concourse CI to send messages to Telegram.

Telegram Botfather

It allows you to send (put) a messages to Telegram from your pipeline.

Prepare your bot

Before using this resource, you should create a bot for yourself. Please, follow the instruction to create a bot and to get its token. Pass this value to the bot_token parameter.

Then, find out the chat ID you want to send notifications to. Now you are ready to use it.

Private channel

It is a good idea to create a private channel for your team where bot will print all the messages from Concourse. In this case you need to follow this steps:

  1. create a public channel, give it a name, say, @MyChannel
  2. add your bot as an administrator
  3. then, send some testing message to this channel, use this command: curl -X POST "https://api.telegram.org/bot<botApi>/sendMessage?chat_id=@MyChannel&text=123". You should see a new message from your bot in your channel. Check the JSON output from this command, you will find an chat_id. The output could look like this: { "ok" : true, "result" : { "chat" : { "id" : -1001005582487, "title" : "Test Private Channel", "type" : "channel" }, "date" : 1448245538, "message_id" : 7, "text" : "123" } } , where chat_id is -1001005582487
  4. optionally, now you can make your channel private, generate link and send it to your collegues

Use the resource

The simplest example:

---
# declare custom resource type:
resource_types:
- name: telegram-notification
  type: docker-image
  source:
    repository: w32blaster/concourse-telegram-notifier
    tag: latest

# declare resource
resources:
- name: telegram-notification
  type: telegram-notification
  source:
    bot_token: "<bot token>"

# use it in your job
jobs:
- name: "Job Send Message To Telegram"
  public: true
  plan:
    - put: telegram-notification
      params:
         chat_id: "<your chat ID>"
         text: "Build ok. [Build $BUILD_NAME](http://localhost:8080/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME)"

Have fun.