{"id":15110369,"url":"https://github.com/atomist-attic/automation-client","last_synced_at":"2025-09-27T12:32:19.817Z","repository":{"id":57099573,"uuid":"106463703","full_name":"atomist-attic/automation-client","owner":"atomist-attic","description":"Atomist API for software low-level client seed","archived":true,"fork":false,"pushed_at":"2018-09-28T15:15:35.000Z","size":1178,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-25T06:02:24.406Z","etag":null,"topics":["atomist","automation","nodejs","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atomist-attic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-10T19:47:40.000Z","updated_at":"2023-01-28T18:58:37.000Z","dependencies_parsed_at":"2022-08-20T17:30:58.514Z","dependency_job_id":null,"html_url":"https://github.com/atomist-attic/automation-client","commit_stats":null,"previous_names":["atomist-seeds/automation-client","atomist/automation-seed-ts"],"tags_count":247,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomist-attic%2Fautomation-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomist-attic%2Fautomation-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomist-attic%2Fautomation-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomist-attic%2Fautomation-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atomist-attic","download_url":"https://codeload.github.com/atomist-attic/automation-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234437988,"owners_count":18832598,"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":["atomist","automation","nodejs","typescript"],"created_at":"2024-09-25T23:44:33.222Z","updated_at":"2025-09-27T12:32:14.536Z","avatar_url":"https://github.com/atomist-attic.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @atomist-seeds/automation-client\n\n[![npm version](https://img.shields.io/npm/v/@atomist/automation-seed.svg)](https://www.npmjs.com/package/@atomist/automation-seed)\n\nThis repository contains examples demonstrating use of the\n[Atomist][atomist] API for software.  You will find examples\nillustrating:\n\n-   Creating bot commands using _command handlers_\n-   Responding to DevOps events, e.g., commits pushed to a repository,\n    using _event handlers_\n\nThese examples use the [`@atomist/automation-client`][client] node\nmodule to implement a local client that connects to the Atomist API\nfor software.  See the [Atomist documentation][atomist-doc] for more\ninformation about Atomist, software delivery machines (SDM), and the\nAtomist API for software.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n[atomist-doc]: https://docs.atomist.com/ (Atomist Documentation)\n\n## Prerequisites\n\nBefore you can run this project, you will need an Atomist workspace\nlinked to a Slack workspace.  See the [Atomist Getting Started\nGuide][atomist-start] for instructions on how to get an Atomist\nworkspace and connect it to your source code repositories, continuous\nintegration, chat platform, etc.\n\nYou will also need several other prerequisites to successfully run\nthis project.  See the [Atomist Developer Guide][atomist-dev] for\ninstructions on setting up your development environment.  Briefly, you\nwill need [Git][git], [Node.js][node], and the [Atomist\nCLI][atomist-cli] installed and properly configured on your system.\n\n[atomist-start]: https://docs.atomist.com/user/ (Atomist - Getting Started)\n[atomist-dev]: https://docs.atomist.com/developer/prerequisites/ (Atomist - Developer Prerequisites)\n[git]: https://git-scm.com/ (Git)\n[atomist-cli]: https://github.com/atomist/cli (Atomist Command-Line Interface)\n\n## Running\n\nOnce the prerequisites are met on your system, you can use the Atomist\nCLI to install dependencies, build the project, and start the client.\n\n```\n$ atomist start\n```\n\nThe [Atomist API Client documentation][atomist-client] has more\ncomplete instructions for running an SDM or other Atomist API client.\n\n[atomist-client]: https://docs.atomist.com/developer/client/ (Atomist - API Client)\n\n## Using\n\n### Invoking a command handler from Slack\n\nThis project contains the code to create and respond to a simple\n`hello world` bot command.  The code that defines the bot command and\nimplements responding to the command, i.e., the _command handler_, can\nbe found in [`HelloWorld.ts`][hello].  Once you have your local\nautomation client running (the previous step in this guide), you can\ninvoke the command handler by sending the Atomist bot the command as a\nmessage.  Be sure the Atomist bot is in the channel before sending it\nthe message.\n\n```\n/invite @atomist\n@atomist hello world\n```\n\nOnce you've submitted the command in Slack, you'll see the incoming\nand outgoing messages show up in the logs of your locally running\nautomation-client.  Ultimately, you should see the response from the\nbot in Slack.\n\n[hello]: https://github.com/atomist/automation-seed-ts/blob/master/src/commands/HelloWorld.ts (HelloWorld Command Handler)\n\nFeel free to modify the code in the `HelloWorld` command handler,\nNode.js will automatically reload the client, and see what happens!\n\n### Triggering an event handler\n\nWhile command handlers respond to commands you send the Atomist bot,\n_event handlers_ take action when different types of events occur in\nyour development and operations environment.  Some examples of events\nare commits pushed to a repo, or a CI build that fails, or an instance\nof a running service that becomes unhealthy.  Example responses to those\nevents are showing the commits in a Slack message, automatically\nrestarting the build, and triggering a PagerDuty alert, respectively.\n\nThe sample event handler in this project, [NotifyOnPush][nop-handler],\nwill notice when someone pushes new commits to a repository in the\nGitHub organization and send a notice of that push to all Slack\nchannels associated with that repository.\n\nTo see this handler in action, you must first link a GitHub repository\nto a Slack channel.  You can do this by inviting the Atomist bot to\nthe channel you want to link, sending it the message \"repo\", i.e.,\n`@atomist repo`, and answering its questions.\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in the [Atomist community Slack workspace][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/automation-seed-ts/issues\n\n## Development\n\nYou will need to install [Node.js][node] to build and test this\nproject.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Build and test\n\nInstall dependencies.\n\n```\n$ npm install\n```\n\nUse the `build` package script to compile, test, lint, and build the\ndocumentation.\n\n```\n$ npm run build\n```\n\n### Release\n\nReleases are handled via the [Atomist SDM][atomist-sdm].  Just press\nthe 'Approve' button in the Atomist dashboard or Slack.\n\n[atomist-sdm]: https://github.com/atomist/atomist-sdm (Atomist Software Delivery Machine)\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack workspace][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomist-attic%2Fautomation-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatomist-attic%2Fautomation-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomist-attic%2Fautomation-client/lists"}