Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

semantic-release-telegram

pustovitDmytro1.1kMIT1.6.2

semantic-release plugin. Provides notifications to Telegram chats

telegram, semantic-release, deploy, telegram-bot, bot, publish, notify, notifications, telegra.ph

readme

Logo

semantic-release-telegram

semantic-release plugin. Provides notifications to Telegram chats.

Version Bundle size Downloads

CodeFactor SonarCloud Codacy Scrutinizer

Dependencies Security Build Status Coverage Status

Commit activity FOSSA License Made in Ukraine

🇺🇦 Help Ukraine

I woke up on my 26th birthday at 5 am from the blows of russian missiles. They attacked the city of Kyiv, where I live, as well as the cities in which my family and friends live. Now my country is a war zone.

We fight for democratic values, freedom, for our future! Once again Ukrainians have to stand against evil, terror, against genocide. The outcome of this war will determine what path human history is taking from now on.

💛💙 Help Ukraine! We need your support! There are dozen ways to help us, just do it!

Table of Contents

Requirements

Platform Status

To use library you need to have node and npm installed in your machine:

  • node >=10
  • npm >=6

Package is continuously tested on darwin, linux and win32 platforms. All active and maintenance LTS node releases are supported.

Installation

To install the library run the following command

  npm i --save semantic-release-telegram

Usage

The plugin can be configured in the semantic-release configuration file:

{
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    [ "semantic-release-telegram", {
      "chats": [ 123456789, -987654321 ]
    } ]
  ]
}

This is a minimal usage sample with a default configuration. Next messages will be sent:

Usage Sample

Configuration

if needed, the configuration can be extended:

{
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    ["semantic-release-telegram", {
      "name": "funny-app",
      "chats": [ 123456789 ],
      "templates": {
        "fail"    : "An error occured while trying to publish the new version of <b>{name}</b>.\n<pre><code class='language-javascript'>{error}</code></pre>",
        "success" : "A new version of <a href='{repository_url}'>{name}</a> has been released. Current version is <b>{version}</b>"
      }

    }]
  ]
}

Config attribute description:

Option Required Type Description Default
name no string Application name. name from package.json
chats yes array List of chats for sending. The bot should have access to each chat.
templates.success no string HTML template, send in case of success. SUCCESS.html
templates.fail no string HTML template, send in case of fail. FAIL.html
assets no array List of files to upload. See Assets []
telegra.ph no object Publish and attach Telegraph story null

Template variables:

key Templates Description Example
repository_url success, fail The git repository URL. By default repository property in package.json or git origin url https://github.com/pustovitDmytro/semantic-release-telegram
name success, fail application name funny-app
version success new version 1.0.0
release_notes success generated notes
release_type success | minor
commit success commit hash 13b16914f2893fa09e9a39f1dcda78af1fff0dbd
branch success, fail | master
error fail thrown error SemanticReleaseError: Cannot push to the Git repository

Authentication

To use this package, you need to register a new telegram bot. Then pass the next environment variables:

  TELEGRAM_BOT_ID=123456 
  TELEGRAM_BOT_TOKEN=ABC-DEF1234ghIkl-zyx57W2v1u123ew11

Assets

Can be glob or relative file path. name specifies file label in telegram. In the case of glob pattern, all files are uploaded in a single archive, name is required.

Example:

  "assets" : [
        { "path": "README.md" },
        { "glob": [ ".docs/*" ], "name": "Documentation.zip" }
    ]

Assets will be attached to release message as separate files.

Telegraph

Upload bulky markdowns, as telegra.ph stories. Use next api for this:

  "telegra.ph"  : {
    "title"   : "{name} v.{version}",
    "message" : "<a href='{telegraph_url}'>Release Notes</a>",
    "content" : "{release_notes}"
}

title and content represent story content.

message is a telegram message, sent to telegram chats (It is reasonable to include {telegraph_url} here). Success template is extended with new variables {telegraph_url} and {telegraph_title} when telegra.ph is used.

Contribute

Make the changes to the code and tests. Then commit to your branch. Be sure to follow the commit message conventions. Read Contributing Guidelines for details.

changelog

1.6.2 (2023-02-07)

Chore

Docs

1.6.1 (2023-02-04)

Chore

  • anti-terrorism disclaimer (96327fe)
  • fixes eslint-plugin-unicorn version (dd45e9a)
  • fixes npm audit (0500470)
  • fixes npm audit vulnerabilities (#100) (cdc815c), closes #100
  • fixes some npm audit vulnerabilities (b913fee)
  • fixes some npm audit vulnerabilities (#86) (eb549de), closes #86
  • Lock file maintenance (85b7c09)
  • Update dependency danger to v11 (1779a27)
  • Update dependency nanoid to 3.1.31 [SECURITY] (#83) (89d3014), closes #83
  • Update dependency node-fetch to 2.6.7 [SECURITY] (#84) (11e82bc), closes #84
  • Update devDependencies (non-major) (01bd6c0)
  • Update devDependencies (non-major) (85a0161)
  • Update devDependencies (non-major) (#65) (d60ef28), closes #65
  • Update devDependencies (non-major) (#66) (69aac8f), closes #66
  • Update devDependencies (non-major) (#92) (f492769), closes #92

Docs

1.6.0 (2022-09-05)

Chore

  • fixes npm audit vulnerabilities (#86) (bed7507), closes #86

Docs

Update

1.5.2 (2022-02-07)

Chore

  • fixes some npm audit vulnerabilities (#73) (30c5480), closes #73
  • fixes some npm audit vulnerabilities (#76) (47a36ec), closes #76
  • Lock file maintenance (#55) (07a6576), closes #55
  • Lock file maintenance (#72) (c092cd1), closes #72
  • Update devDependencies (non-major) (#58) (2378225), closes #58

Upgrade

  • Update pustovitDmytro's packages (#78) (1223bd1), closes #78

1.5.1 (2022-01-22)

Chore

  • adds telegra.ph release notes (aa811a5)
  • calc fossa results in cirrus (b2b48c1)
  • upgrade semantic-release to v.19 [security] (0888454)

Docs

1.5.0 (2022-01-21)

New

  • integrate cottus validator (45f5ba6)

1.4.0 (2022-01-20)

Chore

  • (ci) fix gitleaks version (badd1c1)
  • fix lint (6faae88)
  • fixes some npm audit vulnerabilities (9330c38)
  • fixes some npm audit vulnerabilities (f7a14d5)
  • replace appveyor to actions (13aff75)
  • update deps badge (0836169)

Fix

  • [security] update dependencies to resolve audit issues (389e02b)

Update

  • move remark-telegraph to separate package (2cba043)

1.3.0 (2021-12-18)

Chore

  • adds a security policy (ed86aba)
  • adds circle-ci conditions (5a40980)
  • adds sponsorships (35ed8e0)
  • adds whitesorce bolt bot (0888eee)
  • change renovate schedule (b983eab)
  • drop semantic-release preinstalled plugins (69b1950)
  • fixes audit (14597ff)
  • fixes later schedule (a0cfb5c)
  • integrate lalaps (dd4f238)
  • Lock file maintenance (29fe760)
  • Lock file maintenance (88cb4d5)
  • Lock file maintenance (9892cc5)
  • Lock file maintenance (46770a5)
  • Lock file maintenance (98e62b3)
  • Lock file maintenance (74163b1)
  • Lock file maintenance (7af4484)
  • Lock file maintenance (22cb995)
  • Lock file maintenance (1ffc991)
  • test-security in separete ci job (a4bd846)
  • test-security in separete ci job (9559dbc)
  • Update devDependencies (non-major) (609151a)
  • Update devDependencies (non-major) (1271abe)
  • Update devDependencies (non-major) (06a9753)
  • Update devDependencies (non-major) (5b1a6c3)
  • Update devDependencies (non-major) (51200bf)
  • Update devDependencies (non-major) (#48) (b3f6184), closes #48

New

  • adds telegra.ph integration. Closes #14 (da2e0f9), closes #14

1.2.16 (2021-09-10)

Upgrade

  • package.json & package-lock.json to reduce vulnerabilities (#47) (fce56d1), closes #47

1.2.15 (2021-09-09)

Chore

  • fixes audit [devDependencies] (d08b1fc)
  • fixes audit vulnerabilities (b29bc33)
  • Lock file maintenance (9fe500e)
  • Lock file maintenance (47bfacf)
  • Lock file maintenance (19c2389)
  • Lock file maintenance (2b00aec)
  • Lock file maintenance (dea06c9)
  • Lock file maintenance (e0043d8)
  • Update devDependencies (non-major) (73a2388)
  • Update devDependencies (non-major) (33211c3)
  • Update devDependencies (non-major) (#44) (e8b6f98), closes #44

Upgrade

  • Update dependency git-url-parse to v11.6.0 (0ee4167)

1.2.14 (2021-08-02)

Chore

  • adds 'typo' PR template (e20404d)
  • adds bump strategy for devDependencies (non-major) (03c9587)
  • adds CODE_OF_CONDUCT (a969a8d)
  • adds gitleaks to circle pipeline (114946e)
  • adds sonarcloud config (c92973d)
  • combine mine packages in renovate updates (54c97b8)
  • create auto pr for major dependencies (d2583a6)
  • enhance own updates commit messages (49a2365)
  • fixes renovate config (982abaf)
  • Lock file maintenance (9a696a1)
  • Lock file maintenance (5d305a8)
  • Lock file maintenance (cdf4f11)
  • not allow to fail on node 16 (22ed683)
  • removes unused devDependencies (ddb100a)
  • Update commitlint monorepo to v13 (e3dae5d)
  • Update dependency eslint-plugin-regexp to ^0.12.0 (51ff304)
  • Update dependency eslint-plugin-regexp to ^0.13.0 (#36) (3a8d3ec), closes #36
  • Update dependency eslint-plugin-sonarjs to ^0.9.0 (81d9681)
  • Update dependency eslint-plugin-unicorn to v34 (#34) (86efbac), closes #34
  • Update dependency husky to v7 (3578711)
  • Update devDependencies (non-major) to v13 (6894ad9)

Docs

1.2.13 (2021-07-22)

Upgrade

  • Update dependency base-api-client to v1.5.2 (8a3122f)

1.2.12 (2021-07-19)

Upgrade

  • Update dependency myrmidon to v1.6.1 (306881a)

1.2.11 (2021-07-17)

Upgrade

  • Update dependency base-api-client to v1.5.1 (f4c1797)

1.2.10 (2021-07-14)

Chore

  • Update dependency eslint-plugin-regexp to ^0.13.0 (68f3368)
  • Update dependency eslint-plugin-sonarjs to ^0.9.0 (2a973fa)
  • Update dependency eslint-plugin-unicorn to v34 (3e1b5ee)
  • Update dependency husky to v7 (3718b62)

Upgrade

  • Update dependency myrmidon to v1.5.8 (5819c0a)

1.2.9 (2021-07-02)

Chore

Upgrade

  • Update dependency git-url-parse to v11.5.0 (04b2b9b)

1.2.8 (2021-06-17)

Chore

  • Update dependency eslint-plugin-regexp to ^0.12.0 (fd87073)

Upgrade

  • Update dependency base-api-client to v1.4.5 (9fb2bc8)

1.2.7 (2021-06-13)

Chore

  • adds stabilityDays to renovate (3b262bc)
  • fix json in renovate (8ad7928)
  • fixes npm audit (c3beccd)
  • integrate fossa (b65e961)
  • integrate node-package-tester (9d53bf3)
  • Lock file maintenance (3291a21)
  • Lock file maintenance (1515995)
  • set YARGS_MIN_NODE_VERSION 10 (9b6bef9)
  • Update dependency eslint-plugin-unicorn to v33 (bfa00ff)
  • Update dependency eslint-plugin-unicorn to v33 (af4b541)
  • Update dependency glob-parent to 5.1.2 [SECURITY] (c957512)
  • Update dependency mocha to v9 (93b7a17)

Fix

  • set babel target node version to 10 (f736568)

1.2.6 (2021-05-28)

Upgrade

  • Update dependency myrmidon to v1.5.3 (24bdf7b)

1.2.5 (2021-05-28)

Upgrade

  • Update dependency base-api-client to v1.4.4 (5d12eb9)

1.2.4 (2021-05-28)

Chore

  • 'Chore' semanticCommitType for updating devDependencies (4bf79e1)
  • (refactor) update code to new styleguide (3640b8d)
  • (tests) clearCache on module load is optional (96c2ae5)
  • contributor login in danger message (76349e6)
  • dont store package-tests artifacts (50ebff1)
  • export default in tests (9d210e6)
  • integrate APPVEYOR_BUILD_ID to build tests (16cdd48)
  • update eslint (6b174b1)
  • update eslint-config-incredible (2f39edb)
  • update eslint-config-incredible (58c31d2)

Docs

  • adds node releases roadmap (ba16142)
  • move Contributing Guidelines to separate file. (081e4ed)

1.2.3 (2021-05-15)

Chore

  • additional quotes in glob pattern (f6d15cf)
  • adds appveyor (d560b4e)
  • fixes prevent require handler (7923f0e)
  • not fail package if no tmp exists (5693813)
  • package-tester improvements (d5d868b)
  • prevent package:test from using devdependencies (dc896f3)
  • update default renovate rules (7e83bc4)

Fix

  • move fs-extra to dependencies (9ab1954)

Upgrade

  • updates dependencies to pass package tests (acc0f5b)

1.2.2 (2021-05-10)

Chore

  • (tests) moves load to factory (4acb941)
  • fixes spellcheck in bugreport (7d754b6)
  • move init-hooks to separate file (ed57dc1)
  • set myself as default assignee in pr (0dcd0ce)
  • tests/entry.js module resolving (c840f8b)
  • Update dependency @rollup/plugin-commonjs to v19 (bf29948)
  • Update dependency @rollup/plugin-node-resolve to v13 (265fd82)
  • update eslint (4aac03c)
  • update lock file (4ffb878)

Upgrade

  • Update dependency myrmidon to v1.5.2 (84d9783)

1.2.1 (2021-05-07)

Upgrade

1.2.0 (2021-05-07)

New

1.1.0 (2021-05-07)

Chore

  • Update dependency @rollup/plugin-commonjs to v19 (6d570e2)

Docs

  • update screenshot to match new templates (5367d10)

New

  • adds release_type to success template (8d55b82)
  • resolves repo url (closes #13) (0f670dd), closes #13

1.0.5 (2021-05-05)

Upgrade

  • Update dependency base-api-client to v1.2.2 (c0b144d)

1.0.4 (2021-05-05)

Upgrade

  • Update dependency myrmidon to v1.5.1 (03b4c49)

1.0.3 (2021-05-05)

Upgrade

  • Update dependency base-api-client to v1.2.1 (0a374b3)

1.0.2 (2021-05-04)

Chore

  • adds pr context (ce163d9)
  • adds trusted bots to danger (892f4a1)
  • fixes ci (0576a01)
  • telegram notifications on release (3a8036a)
  • Update dependency @rollup/plugin-node-resolve to v13 (53e966b)
  • Update dependency eslint-plugin-more to v1 (9d6d39c)
  • Update dependency fs-extra to v10 (a0adecc)
  • Update dependency fs-extra to v9 (7b9f56d)
  • Update issue templates (8fdb1af)
  • Update pr template (1d4eb34)
  • update semantic to use commit convention (7e079b2)
  • use danger for internall pr (d838ede)
  • use incredible eslint config (b03d74a)

Upgrade

  • Update dependency myrmidon to v1.5.0 (cf4a5a0)

1.0.1 (2021-05-02)

Upgrade

1.0.0 (2021-05-02)

Chore

  • (git) Add logs to gitignore (d4d2077)
  • (refactor) remove unused argument (6f28b59)
  • (test) helper packages for tests (e195b58)
  • (test) working with tmp dir for test factory (cfeafbc)
  • adds CIRCLE_SKIP_DEPLOY variable (231549d)
  • adds commitlint (38ded63)
  • adds configuration tests (25eb1aa)
  • adds danger to circle-ci (ae48ac3)
  • adds danger to validate pr (7fb7040)
  • adds danger token to circle (82f4156)
  • adds dangerfile to npm ignore (8842c70)
  • adds dummy line to calc coverage (800de67)
  • adds empty line to pr comment (36d8a09)
  • adds jscpd to ignore (8520cea)
  • adds lifecycle method tests (020e54b)
  • adds lock file lint (f5a4679)
  • adds target branch to semantic release (c4fb3f1)
  • adds technical dept check (e16a8e2)
  • adds test-results to circle-ci (767c5b3)
  • adds tests for packing process (9b9602d)
  • adds tests for prior node versions (4b00012)
  • change extention of test files to .test.js (d84ac03)
  • change tgz label (5e0e512)
  • corrected extglob matching (72a2201)
  • corrected pack pattern (273497a)
  • deploy ci as single command (96c2800)
  • deploy in circle-ci (a62a5f2)
  • disable build for coverage check (0b6e984)
  • dont pin devDeps in renovate (5fb0e8d)
  • exit code 0 when skip (f6ee0bf)
  • fill test entry with template (9177859)
  • fixes Breaking increment in semantic-release (d1c4d53)
  • Fixes danger-pr in circe-ci (adff8b3)
  • fixes debt typo in travis job (f9fd463)
  • fixes package process (364e26b)
  • fixes renovate config (05c5bc5)
  • ignoring all for npm packaging (409201a)
  • improves test coverage (3fc8885)
  • inverse logical condition (65dd0ad)
  • multi os tests for travis (7c8ce28)
  • run pr workflow only for pull requests (03e0b08)
  • split circle ci jobs (9f75a6b)
  • update .renovaterc to automerge after successfull checks (2e76ceb)
  • Update dependency babel-plugin-module-resolver to v4 (b8eb86f)
  • Update dependency eslint to v7 (0e79e0f)
  • Update dependency mocha to v8 (627a45b)
  • Update dependency nyc to v15 (1caf199)
  • Update dependency uuid to v8 (ebae34b)
  • update semantic release rules (a075dab)
  • Update semantic-release monorepo (b7ab2b1)
  • update travis badge (e159104)
  • updates semanticCommitType rule (1a1d119)
  • upgrade circle-ci to 2.1 (fab79a9)
  • use native tarball generation (eeefda5)
  • using static test entry (21e5b7d)

Docs

Fix

New