Skip to content

Instantly share code, notes, and snippets.

@ddossot
Created May 30, 2012 01:31
Show Gist options
  • Save ddossot/2832308 to your computer and use it in GitHub Desktop.
Save ddossot/2832308 to your computer and use it in GitHub Desktop.
Mule-powered Coderwall Facebook Bridge
<flow name="coderwallFacebookBridge">
<quartz:inbound-endpoint jobName="coderwallPollerJob"
startDelay="15000" repeatInterval="3600000">
<quartz:endpoint-polling-job>
<quartz:job-endpoint address="http://coderwall.com/${coderwall.profile}.json" />
</quartz:endpoint-polling-job>
</quartz:inbound-endpoint>
<json:json-to-object-transformer />
<expression-transformer expression="payload.get('badges')" evaluator="groovy" />
<collection-splitter />
<idempotent-message-filter idExpression="#[groovy:payload.get('name')]">
<in-memory-store />
</idempotent-message-filter>
<facebook:publish-message profile_id="${facebook.profileid}"
msg="#[string:Just earned the '#[groovy:payload.get('name')]' badge on CoderWall]"
picture="#[groovy:payload.get('badge')]"
link="http://coderwall.com/${coderwall.profile}"
description="#[groovy:payload.get('description')]" />
</flow>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment