Skip to content
This repository has been archived by the owner on May 31, 2024. It is now read-only.
olaph wagner edited this page Feb 13, 2018 · 6 revisions

Short Name

Github Project Automation with OpenWhisk

Short Description

Use OpenWhisk action/triggers in combination with the Github API to automate administrative tasks associated with administering a Github Project.

Offering Type

Cloud

Introduction

In this code pattern, we show users how to automate the repetitive tasks that come along with maintaining a Project in Github, such as:

  • automatically adding an issue to a project when it is created
  • sending Slack alerts when certain criteria have been meet
  • creating new repositories, and populating those repositories with files

Author

By olaph wagoner

Code

Demo

Video

Overview

As a central repository for code, the use of Github makes a strong argument for distributed groups to use for collaboration as they leverage the power of git. Add to this the management capabilities of Github Projects, and the cost of entry becomes rather low for everyone involved. Low, that is, except for the lucky soul that gets elected to manage the Project! While an application could be written to listen to Github events and handle some the tasks we propose to automate, it becomes bulky and would possibly sit dormant in comparison the actual time it would be actively executing needed alterations of a Project. This is where OpenWhisk rules and actions can streamline our operations. Going 'serverless' and exciting concise chunks of code only when specific events have been triggered makes our computing footprint tidy.

When the reader has completed this journey, they will understand how to:

  • set up an IBM Cloud Function action
  • trigger an IBM Cloud Function with a webhook
  • interact with the Github API

Flow

  1. User sets up OpenWhisk actions
  2. Actions are associated with triggers from Github webhooks
  3. Interactions with a Github Project create webhooks
  4. OpenWisk actions send requests to Github API
  5. (Optional) Alerts are sent to Slack API

Included components

  • OpenWhisk: Execute code on demand in a highly scalable, serverless environment.
  • Slack: Slack is a cloud-based set of team collaboration tools and services with chat bot integration.

Featured technologies

  • Serverless: An event-action platform that allows you to execute code in response to an event.

Blog

Blog Title

Automating Github Project Administration with IBM Cloud Functions

Blog Author

olaph wagoner

Blog Content

http://developer.ibm.com/code/?p=30983&preview=1&_ppp=202f18f883

Links