Skip to content

Instantly share code, notes, and snippets.

@smetj
Last active April 8, 2018 12:46
Show Gist options
  • Save smetj/cb3790e6428b5f04718970a8355735ec to your computer and use it in GitHub Desktop.
Save smetj/cb3790e6428b5f04718970a8355735ec to your computer and use it in GitHub Desktop.
Building a notification system part 2: Integrating Travis
protocols:
json_decode:
protocol: wishbone.protocol.decode.json
arguments:
buffer_size: 16777216
json_encode:
protocol: wishbone.protocol.encode.json
modules:
incoming_webhooks:
module: wishbone_contrib.module.input.httpserver
protocol: json_decode
arguments:
resource:
"^travis$":
users:
- travis
tokens: []
response: "OK {{uuid}}"
urldecoded_field: payload
htpasswd:
travis: $apr1$PuAZERAFAZsfqfqsd23452323.
max_bytes: 16777216
funnel:
module: wishbone.module.flow.funnel
payload:
module: wishbone.module.flow.queueselect
arguments:
templates:
- name: "Travis Build"
queue: "{{ 'outbox' if tmp.incoming_webhooks.env.path_info == '/travis' }}"
payload: >
Travis build for '{{data.repository.name}}/{{data.branch}}' has status: '{{data.status_message}}'.
Commit message: {{data.message}}
Build: {{data.build_url}}
Commit: {{data.compare_url}}
#build #travis
twitter:
module: wishbone_contrib.module.output.twitter
arguments:
payload: "{{tmp.payload.payload}}"
consumer_key: xxxxxxxxxxxxxxxxxxxxxx
consumer_secret: xxxxxxxxxxxxxxxxxxxxxx
access_token_key: xxxxxxxxxxxxxxxxxxxxxx
access_token_secret: xxxxxxxxxxxxxxxxxxxxxx
routingtable:
- incoming_webhooks.travis -> funnel.travis
- funnel.outbox -> payload.inbox
- payload.outbox -> twitter.inbox
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment