Project

minitel

0.0
A long-lived project that still receives updates
𝕋𝔼𝕃𝔼𝕏 client
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

>= 0
 Project Readme

𝕄𝕀ℕ𝕀𝕋𝔼𝕃

A 𝕋𝔼𝕃𝔼𝕏 client

Gem Version Build Status

Producer Credentials

Get credentials to use by following the instructions here: https://github.com/heroku/telex/blob/main/docs/user_guide.md

Quick Setup

This will help you send a notification to just yourself, as a sanity check that everything is set up properly

Before you do this:

  • Get your producer credentials (above)
  • get minitel (above) and dotenv installed locally
  • Grab your user account id, for example by doing: heroku api get /account | jq '.id' -r
# .env
TELEX_URL = 'https://user:pass@telex.heroku.com'
MY_USER_ID = '123'
# minitel-testing.rb or irb
require 'dotenv/load'
require 'minitel'

client = Minitel::Client.new(ENV['TELEX_URL'])

message = client.notify_user(user_uuid: ENV['MY_USER_ID'], title: 'Test Notification', body: 'Test Notification Body.')
puts "message " + message['id'] + " sent"

Once you run this, you should receive both:

  • receive an email (eventually, depending on the backlog)
  • see this in Dashboard's Notification Center

Usage Examples

require 'minitel'
# create a client
client = Minitel::Client.new("https://user:pass@telex.heroku.com")

# send a notification to the owner and collaborators of an app
client.notify_app(app_uuid: '...', title: 'Your database is on fire!', body: 'Sorry.')
# => {"id"=>"uuid of message"}

# send a notification to a user
client.notify_user(user_uuid: '...', title: 'Here is your invoice', body: 'You owe us 65k.')
# => {"id"=>"uuid of message"}

# send a notification with an email action
# see: https://developers.google.com/gmail/markup/reference/go-to-action
client.notify_user(user_uuid: '...',
  title: 'Here is your invoice',
  body: 'You owe us 65k.',
  action: { label: 'View Invoice', url: 'https://heroku.com/invoices/12345-12-98765'})

# add follow-up to a previous notification
client.add_followup(message_uuid: '...', body: 'here are even more details')

Releasing

  1. Bump the version in lib/minitel/version.rb

  2. Update CHANGELOG.md β€” move entries from [Unreleased] into a new versioned section and update the comparison links at the bottom

  3. Commit the changes

    git add lib/minitel/version.rb CHANGELOG.md
    git commit -m "version -> x.y.z"
  4. Create and push a git tag

    git tag vx.y.z
    git push origin main --tags
  5. Build and push the gem to RubyGems.org

    gem build
    gem push minitel-x.y.z.gem