Skip to content
This repository was archived by the owner on Apr 19, 2018. It is now read-only.
This repository was archived by the owner on Apr 19, 2018. It is now read-only.

API - Slack Bookmarker #6

Open
Open

Description

@Zaturrby

Motivation

We often encounter awesome links and share them with the team through Slack. But like all good programmers, we’re lazy. We’d love to have it loaded in Offcourse right away when posting it to Slack. But we always sidetrack this feature as it is not core functionality, but we’d love for anyone to pick it up!

Clarification

On a conceptual level this feature will connect the Slack API to the Offcourse API. These are both JSON endpoints, one to get from and one to post to. To get the data you’ll either need to poll Slack at a certain interval or use web hooks. Once you’ve figured out how to get the data, you’ll need to process the link to add some meta-data from it. Finally you will post it to the Offcourse API. The code will be hosted on Amazon Lambda as a separate function.

Breakdown

  • Clone offcourse-serverless
  • Set up local API calls to Slack to get the messages from the channel.
  • Process the data to a valid post request for Offcourse
  • Post the JSON document to the Offcourse API
  • Automatize the process with web hooks
  • Set up a Lambda environment to do the same
  • Test, test, test
  • Write up and submit a pull request.

Specifics

Deliver via pull request to the the offcourse-serverless repository: Code is not stubbed yet.

Knowledge requirement: Basic knowledge of API’s, Amazon Lambda and Clojure
Time requirement: approx. 1 day depending on familiarity.
Mentor: Yeehaa (Jan Hein Hoogstad)

Documentation

This is a server-side function working in conjunction with the API, so a good look at our API-docs might be useful. Also check our general contribution workflow. Thirdly it might be interesting to take a look at another similar service: notify-slack. In this particular case the Slack API docs might also be interesting.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions