{"id":18318554,"url":"https://github.com/maxmind/teamcity-message","last_synced_at":"2025-10-30T12:30:52.989Z","repository":{"id":46761137,"uuid":"56706504","full_name":"maxmind/TeamCity-Message","owner":"maxmind","description":"Generate TeamCity build messages","archived":false,"fork":false,"pushed_at":"2025-02-14T20:22:24.000Z","size":30,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-02-14T21:28:45.651Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://metacpan.org/release/TeamCity-Message/","language":"Perl","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/maxmind.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-20T17:22:26.000Z","updated_at":"2025-02-14T20:22:28.000Z","dependencies_parsed_at":"2025-01-29T21:22:52.991Z","dependency_job_id":"39bc8a42-3580-4253-b327-5d20331f029e","html_url":"https://github.com/maxmind/TeamCity-Message","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmind%2FTeamCity-Message","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmind%2FTeamCity-Message/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmind%2FTeamCity-Message/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmind%2FTeamCity-Message/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxmind","download_url":"https://codeload.github.com/maxmind/TeamCity-Message/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238962678,"owners_count":19559527,"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":[],"created_at":"2024-11-05T18:10:01.381Z","updated_at":"2025-10-30T12:30:47.646Z","avatar_url":"https://github.com/maxmind.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\n\nTeamCity::Message - Generate TeamCity build messages\n\n# VERSION\n\nversion 0.02\n\n# SYNOPSIS\n\n    use TeamCity::Message;\n\n    print STDOUT tc_message(\n        type    =\u003e 'message',\n        content =\u003e { text =\u003e 'This is a build message.' },\n    );\n\n    print STDOUT tc_message(\n        type    =\u003e 'message',\n        content =\u003e {\n            text   =\u003e 'This is a serious build message.',\n            status =\u003e 'ERROR',\n        },\n    );\n\n    print STDOUT tc_message(\n        type    =\u003e 'progressMessage',\n        content =\u003e 'This is a progress message',\n    );\n\n# DESCRIPTION\n\nThis module generates TeamCity build messages.\n\nSee\n[https://confluence.jetbrains.com/display/TCD9/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-reportingMessagesForBuildLogReportingMessagesForBuildLog](https://confluence.jetbrains.com/display/TCD9/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-reportingMessagesForBuildLogReportingMessagesForBuildLog)\nfor more details on TeamCity build messages.\n\n# API\n\n## tc\\_message(...)\n\nExported by default, this subroutine can be used to generate properly formatted\nand escaped TeamCity build message.\n\nThis subroutine accepts the following arguments:\n\n- type\n\n    This is the message type, such as \"message\", \"testStarted\", \"testFinished\",\n    etc.\n\n    This is required.\n\n- content\n\n    This can be either a string or a hash reference of key/value pairs. This will\n    be turned into the content of the message.\n\n    This is required.\n\nWhen the `content` parameter is a hash reference, this subroutine will always\nadd a \"timestamp\" to the message matching the current time. You can provide an\nexplicit `timestamp` value in the `content` if you want to set this\nyourself.\n\n## tc\\_timestamp()\n\nExported on demand, this subroutine will return a string containing the current\ntimestamp formatted suitably for consumption by TeamCity.  You can pass this\nto the `tc_message(...)` function like so:\n\n    my $remembered_timestamp = tc_timestamp();\n\n    # ...time passes...\n\n    print STDOUT tc_message(\n        type    =\u003e 'message',\n        content =\u003e {\n            text =\u003e 'This is a build message.',\n            timestamp =\u003e $remembered_timestamp,\n        }\n    );\n\n# SUPPORT\n\nPlease report all issues with this code using the GitHub issue tracker at\n[https://github.com/maxmind/TeamCity-Message/issues](https://github.com/maxmind/TeamCity-Message/issues).\n\nBugs may be submitted through [https://github.com/maxmind/TeamCity-Message/issues](https://github.com/maxmind/TeamCity-Message/issues).\n\n# AUTHOR\n\nDave Rolsky \u003cautarch@urth.org\u003e\n\n# CONTRIBUTORS\n\n- Dave Rolsky \u003cdrolsky@maxmind.com\u003e\n- Mark Fowler \u003cmark@twoshortplanks.com\u003e\n\n# COPYRIGHT AND LICENSE\n\nThis software is Copyright (c) 2017 by MaxMind, Inc..\n\nThis is free software, licensed under:\n\n    The Artistic License 2.0 (GPL Compatible)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxmind%2Fteamcity-message","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxmind%2Fteamcity-message","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxmind%2Fteamcity-message/lists"}