{"id":29016598,"url":"https://github.com/chef/marketo_chef","last_synced_at":"2025-06-25T22:32:40.006Z","repository":{"id":56882804,"uuid":"90416177","full_name":"chef/marketo_chef","owner":"chef","description":"Marketo API client for our common uses and error handling","archived":false,"fork":false,"pushed_at":"2021-08-24T13:06:35.000Z","size":41,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":68,"default_branch":"main","last_synced_at":"2025-06-19T20:20:05.789Z","etag":null,"topics":["gem","marketo","ruby"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/chef.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-05T21:04:38.000Z","updated_at":"2021-11-27T18:29:32.000Z","dependencies_parsed_at":"2022-08-20T22:31:01.784Z","dependency_job_id":null,"html_url":"https://github.com/chef/marketo_chef","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/chef/marketo_chef","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fmarketo_chef","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fmarketo_chef/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fmarketo_chef/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fmarketo_chef/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chef","download_url":"https://codeload.github.com/chef/marketo_chef/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fmarketo_chef/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261469875,"owners_count":23163183,"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":["gem","marketo","ruby"],"created_at":"2025-06-25T22:30:55.437Z","updated_at":"2025-06-25T22:32:39.997Z","avatar_url":"https://github.com/chef.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MarketoChef\n\nThis gem defines a Marketo API client providing a simple interface to our\nsingle common use case: adding a lead to the Marketo database and assigning it\nto a specific campaign.\n\n[![Build Status](https://travis-ci.com/chef/marketo_chef.svg?token=QMKWuXEPx23uB8JGd4tb\u0026branch=master)](https://travis-ci.com/chef/marketo_chef)\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby gem 'marketo_chef' ```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install marketo_chef\n\n## Usage\n\nThe gem expects client code to configure it before use. Like so:\n```ruby\nMarketoChef.configure do |c|\n  c.host          = ENV['MARKETO_HOST']\n  c.client_id     = ENV['MARKETO_CLIENT_ID']\n  c.client_secret = ENV['MARKETO_CLIENT_SECRET']\n  c.campaign_id   = ENV['MARKETO_CAMPAIGN_ID']\nend\n```\nConventionally this would be added to an initializer in Rails or Hanami, for\nexample in a file `config/initializers/01_marketo_chef.rb`, with Rails. This\nensures the application will attempt to configure the gem at start time rather\nthan later, when discovering that configuration values aren't available\n(perhaps an environment variable name is incorrect) will generate unexpected\nerrors.\n\nRequired environment variables, with bogus example values:\n```shell\nMARKETO_HOST=\"123-ABC-456.mktorest.com\"\nMARKETO_CLIENT_ID=\"c4206ec5-be87-465c-a0cc-99486a4c4e1b\"\nMARKETO_CLIENT_SECRET=\"Z5bzTySMrFdgcFZkSNvBywMuUen9ah7Q\"\nMARKETO_CAMPAIGN_ID=\"1234\"\n```\n\nThe gem exposes a single method for lead tracking, which accepts a hash of lead\ndata, creates or updates the lead in Marketo, and adds it to the specified\ncampaign.\n\n```ruby\nMarketoChef.add_lead(\n  'formname':         'Some Form',\n  'product-interest': 'some-interest',\n  'firstName':        'Jane',\n  'lastName':         'Doe',\n  'email':            'jdoe@example.com',\n  'company':          'ExampleCo'\n)\n```\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run\n`rake test` to run the tests. You can also run `bin/console` for an interactive\nprompt that will allow you to experiment.\n\nYou can also run `rubocop` to verify style guide adherence. It happens along\nwith the tests in CI, but better to catch those problems before committing and\npushing and so on.\n\nTo install this gem onto your local machine, run `bundle exec rake install`.\n\n### Releasing\n\nTo release a new version:\n1. increment the version number in `version.rb`\n2. update `CHANGELOG.md` with additions, changes, or removals\n3. commit the above and tag that commit for the version (ex: `git tag -s -m 'v1.1.0 - Public release' v1.1.0 abcdefg`)\n4. push commits and tags to github (ex: `git push origin master --tags`)\n5. push gem to RubyGems.org (ex: `gem push marketo_chef-1.1.0.gem`)\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at\nhttps://github.com/chef/marketo_chef.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchef%2Fmarketo_chef","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchef%2Fmarketo_chef","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchef%2Fmarketo_chef/lists"}