{"id":26711512,"url":"https://github.com/trac-hacks/traccommandhook","last_synced_at":"2025-03-27T10:28:45.351Z","repository":{"id":4598570,"uuid":"5741396","full_name":"trac-hacks/TracCommandHook","owner":"trac-hacks","description":"Trac plugin that executes a specified command after ticket creation or modification","archived":false,"fork":false,"pushed_at":"2015-02-27T14:56:01.000Z","size":200,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":14,"default_branch":"master","last_synced_at":"2023-04-11T08:47:58.868Z","etag":null,"topics":["trac-plugin"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trac-hacks.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.GPL","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-09-09T20:29:25.000Z","updated_at":"2015-02-27T20:10:42.000Z","dependencies_parsed_at":"2022-08-06T17:00:57.709Z","dependency_job_id":null,"html_url":"https://github.com/trac-hacks/TracCommandHook","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trac-hacks%2FTracCommandHook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trac-hacks%2FTracCommandHook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trac-hacks%2FTracCommandHook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trac-hacks%2FTracCommandHook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trac-hacks","download_url":"https://codeload.github.com/trac-hacks/TracCommandHook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245826042,"owners_count":20678708,"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","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":["trac-plugin"],"created_at":"2025-03-27T10:28:44.819Z","updated_at":"2025-03-27T10:28:45.336Z","avatar_url":"https://github.com/trac-hacks.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"TracCommandHook\n===============\n\n``TracCommandHook`` is a Trac plugin that executes a specified command after\nticket creation or modification. The command is called only if the ticket\nis created with (or changed to) one or more specified priorities.\n\nIt has been tested on `Trac 0.12 \u003chttp://trac.edgewall.org\u003e`_.\n\n\nConfiguration\n-------------\n\nThe command and its options must be specified in trac.ini : ::\n\n    [commandhook]\n    section = commandhookgrowl,commandhookirc\n\n    [commandhookgrowl]\n    command = /usr/local/bin/growlnotify\n    priorities = blocker\n    param.title-parameter = -t\n    param.title-fields = summary\n    param.message-parameter = -m\n    param.message-fields = id,\" \",priority,\" \",\"new ticket\" \n\n    [commandhookirc]\n    priorities = blocker\n    command = affinitic.ircutils/bin/send_irc_message,unnamedparam1,unnamedparam2\n    param.server-parameter = -s\n    param.server-fields = \"irc.freenode.net\"\n    param.port-parameter = -p\n    param.port-fields = \"6667\"\n    param.nickname-parameter = -n\n    param.nickname-fields = \"BotNickname\"\n    param.channel-parameter = -c\n    param.channel-fields = \"#ourchannel\"\n    param.message-parameter = -m\n    param.message-fields = \"${trac:project-url}/ticket/\",id,\" A new ticket\",\" \",priority,\" has been created by\",\" \",reporter,\": \",summary,\" assigned to: \",owner\n\n\nIn this example, when a ticket (#1) with priority blocker is created or\nmodified, the following command will be executed (first part of the example\nabove; the second command will of course be executed as well) : ::\n\n    /usr/local/bin/growlnotify -t 'Summary of the ticket' -m '1 blocker new ticket'\n\n\"\" in -fields allow to return hard value, that value will be displayed without the \"\"\n\n\nDetails\n-------\n\n``priorities`` is a list of priorities, ex : ``blocker`` or ``blocker,critical``.\n\nCommand parameters can be defined using ``param.`` notation : \n - ``param.*-fields`` is a list of ticket fields (ex : id, summary, priority,\n   owner, ...) which will be joined into a string\n - ``param.*-parameter`` is the command parameter that will receive the\n   constructed string\n\nReplace the ``*`` by the identifier you like, once for each parameter you want\nto pass to the command.\n\n\nCredits\n-------\n\nThis package was developed by `Affinitic team \u003chttps://github.com/affinitic\u003e`_.\n\n.. image:: http://www.affinitic.be/affinitic_logo.png\n   :alt: Affinitic website\n   :target: http://www.affinitic.be\n\n``TracCommandHook`` is licensed under GNU General Public License, version 2.\n\n\n**Enjoy and improve !**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrac-hacks%2Ftraccommandhook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrac-hacks%2Ftraccommandhook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrac-hacks%2Ftraccommandhook/lists"}