Git Product home page Git Product logo

telegram-notification-resource's Introduction

telegram-notification-resource

Resource for Concourse CI to send messages to Telegram. You can pass your message from tasks with text file, or send a static message.

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>"
         # you need to specify one of text or text_file properties, with text_file you can generate message text in your previous task
         text: "Build ok. [Build $BUILD_NAME](http://localhost:8080/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME)"
         text_file: './task_output/file_with_message'
         # optional parameter, Telegram API parse mode, may be HTML or Markdown, Markdown is default value
         parse_mode: HTML

Have fun.

telegram-notification-resource's People

Contributors

drysock avatar maklayna avatar odidev avatar w32blaster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

telegram-notification-resource's Issues

Require image for ARM64 architecture

Hi Team,

I am trying to use the w32blaster/concourse-telegram-notifier image on the arm64 platform but it seems it is not available for arm64.

I have successfully built the image using the command docker build -t image_name . on the arm64 platform by making some changes in the Dockerfile.

I have used Travis-CI to build and push the image for both the platforms.

Commit Link - odidev@ca43e78

Travis-CI link - https://travis-ci.com/github/odidev/telegram-notification-resource/builds/235393063

Docker Hub Link - https://hub.docker.com/repository/registry-1.docker.io/odidev/telegram-notification-resource/tags?page=1&ordering=last_updated

Do you have any plans on releasing arm64 images?

It will be very helpful if an arm64 image is available. If interested, I will raise a PR.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.