How to correctly setup a GitHub to APNs integration

GitHub logo
APNs logo

GitHub is a web-based platform where developers store code, track changes, and collaborate on projects. With MagicBell's GitHub integration, your team can get notifications directly linked to their GitHub workflow.

APNs is the Apple Push Notification service. It is the service used to send notifications to iOS devices. It is a robust and efficient service that allows you to send notifications to your users' devices in real-time.

MagicBell makes it incredibly easy to combine the two, so that GitHub can be used as a source of events to be sent via APNs.

Step 1: Setup GitHub

PUT
/integrations/github
Schema Type: "object"
Required Fields:
webhook_signing_secret

Properties

webhook_signing_secret "string"
required

The signing secret to verify incoming requests from Github

Example Request

{
  "webhook_signing_secret": "whsec_e5cf4458caae49ae72d8f275deb9b63bdd41dd5c932c27c9346d428fb9e1d0a0"
}

Step 2: Setup APNs

PUT
/integrations/apns
Schema Type: "object"
Required Fields:
app_idcertificatekey_idteam_idbadge

Properties

app_id "string"
required

The default bundle identifier of the application that is configured with this project. It can be overriden on a per token basis, when registering device tokens.

certificate "string"
required

The APNs certificate in P8 format. Generate it at [developer.apple.com](https://developer.apple.com/account/resources/authkeys/add) with the 'Apple Push Notification service (APNs)' option selected.

key_id "string"
required
team_id "string"
required
badge "string"
required
payload_version "string"

Example Request

{
  "app_id": "com.example.myapp",
  "certificate": "-----BEGIN PRIVATE KEY-----\nMIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgHnr4B2P+by++FGu/th0a44E8chJl5v5Vo4gq0YHw6e6gCgYIKoZIzj0DAQehRANCAARCg1MRibnfyeX5mx6+Rtfzzn7UhJP/oaqL4RzSmDuTsd3BTX33cuQ0gWHe20R2m1bLAkI1wrp+zbWOlAOAD7KX\n-----END PRIVATE KEY-----",
  "key_id": "ABCD1234EF",
  "team_id": "ABCD1234EF",
  "badge": "unread"
}

Specialized Integration Guides

Below are some more specialized guides for individual GitHub events: