{"id":26493520,"url":"https://github.com/nulab/fluent-plugin-typetalk","last_synced_at":"2025-10-20T12:46:49.990Z","repository":{"id":54855996,"uuid":"19706998","full_name":"nulab/fluent-plugin-typetalk","owner":"nulab","description":"Fluent plugin to emit notifications to Typetalk","archived":false,"fork":false,"pushed_at":"2021-01-25T04:29:28.000Z","size":45,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-10-17T03:16:11.512Z","etag":null,"topics":["fluent-plugin","typetalk"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nulab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-12T16:48:11.000Z","updated_at":"2022-10-27T17:13:05.000Z","dependencies_parsed_at":"2022-08-14T04:50:43.383Z","dependency_job_id":null,"html_url":"https://github.com/nulab/fluent-plugin-typetalk","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/nulab/fluent-plugin-typetalk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nulab%2Ffluent-plugin-typetalk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nulab%2Ffluent-plugin-typetalk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nulab%2Ffluent-plugin-typetalk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nulab%2Ffluent-plugin-typetalk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nulab","download_url":"https://codeload.github.com/nulab/fluent-plugin-typetalk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nulab%2Ffluent-plugin-typetalk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280094902,"owners_count":26271003,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-20T02:00:06.978Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fluent-plugin","typetalk"],"created_at":"2025-03-20T09:55:36.620Z","updated_at":"2025-10-20T12:46:49.956Z","avatar_url":"https://github.com/nulab.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fluent-plugin-typetalk [![Build Status](https://travis-ci.com/nulab/fluent-plugin-typetalk.svg?branch=master)](https://travis-ci.com/nulab/fluent-plugin-typetalk)\n\n## Overview\n\n[Fluentd](http://fluentd.org) plugin to emit notifications to [Typetalk](http://typetalk.com/).\n\n## Requirements\n\n| fluent-plugin-typetalk | fluentd    | ruby   |\n|------------------------|------------|--------|\n| \u003e= 0.1.0               | \u003e= v0.14.0 | \u003e= 2.1 |\n| \u003c 0.1.0                | \u003e= v0.12.0 | \u003e= 1.9 |\n\n## Installation\n\nInstall with gem or fluent-gem command as:\n\n```\n# for fluentd\n$ gem install fluent-plugin-typetalk\n\n# for td-agent\n$ sudo /usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-typetalk\n```\n\n## Configuration\n\n### Usage\n\nThis plugin uses client credentials for authentication. See [the developer document](https://developer.nulab-inc.com/docs/typetalk/#client) how to get your own credential.\n```\n\u003cmatch ...\u003e\n  @type typetalk\n  client_id YOUR_CLIENT_ID\n  client_secret YOUR_CLIENT_SECRET\n  topic_id YOUR_TOPIC_ID\n  message notice: %s [%s] %s errors found\n  out_keys tag,time,count\n  time_key time\n  time_format %Y/%m/%d %H:%M:%S\n  tag_key tag\n\u003c/match\u003e\n```\n\nThe notified message will look like this : `notice: count.service [2014/05/13 03:34:02] 200 errors found`. The meanings of out_keys,time_key,time_format and tag_key are equivalent to those of [fluent-plugin-ikachan](https://github.com/tagomoris/fluent-plugin-ikachan).\n\nThis plugin allows you to use special value namely $hostname in out_keys. By using it, you can include hostname within the notified message.\n```\n\u003cmatch ...\u003e\n  @type typetalk\n  client_id YOUR_CLIENT_ID\n  client_secret YOUR_CLIENT_SECRET\n  topic_id YOUR_TOPIC_ID\n  message notice: %s [%s] %s errors found on %s\n  out_keys tag,time,count,$hostname\n  time_key time\n  time_format %Y/%m/%d %H:%M:%S\n  tag_key tag\n\u003c/match\u003e\n```\n\nBy default, the number of notification you can send within a minute is limited to 10. Log lines that exceed this limit will be discarded. You can change it with `interval` and `limit` parameters.\n```\n\u003cmatch ...\u003e\n  @type typetalk\n  :\n  interval 300\n  limit 10\n\u003c/match\u003e\n```\nIn the example above, you can allow 10 notifications to be sent within 300 seconds. To remove the notification throttle, set both parameters to 0.\n\nTypetalk doesn't allow message which length is equal to or greater than 4000. Since 0.0.5, the message over 4000 characters will be truncated automatically. To turn off this behaviour, set truncate_message to false\n```\n\u003cmatch ...\u003e\n  @type typetalk\n  :\n  truncate_message false\n\u003c/match\u003e\n```\nIf you set this value to false, the message over 4000 characters will not be sent to Typetalk.\n\n## TODO\n\nPull requests are very welcome!!\n\n## For developers\n\nYou have to run the command below when starting development.\n```\n$ bundle install --path vendor/bundle\n```\n\nTo run tests, do the following.\n```\n$ VERBOSE=1 bundle exec rake test\n```\n\nIf you want to run a certain file, run rake like this\n```\n$ VERBOSE=1 bundle exec rake test TEST=test/plugin/test_out_typetalk.rb\n```\n\nIn addition, you can run specific method like this.\n```\n$ VERBOSE=1 bundle exec rake test TEST=test/plugin/test_out_typetalk.rb TESTOPTS=\"--name=test_post_message_invalid_request_error\"\n```\n\nWhen releasing, call rake release as follows.\n```\n$ bundle exec rake release\n```\n\n## Copyright\n\n* Copyright (c) 2014- Takashi Someda ([@tksmd](http://twitter.com/tksmd/))\n* Apache License, Version 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnulab%2Ffluent-plugin-typetalk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnulab%2Ffluent-plugin-typetalk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnulab%2Ffluent-plugin-typetalk/lists"}