Learn How to Contribute to Open Source
Contributing to an open-source project can often be intimidating. Especially if it is your first contribution. At one point we've all been there. But contributing to open source can also be fun and rewarding once you get through it. We decided to try and help you with your first steps into the world of open source and hopefully make it less intimidating and more fun!
As a result we are launching today two new projects! The Open Pixel Art project and a brand new Twilio Quest mission focused on taking you step-by-step through your quest into the world of open source.
Open Pixel Art - A Collaborative Art Project
One problem doing your first contribution to open source is finding the right project to get started. While there are some great projects that welcome new contributors, we wanted to create something that makes it easy to identify what to contribute. …
Start a new Twilio Functions project the easy way
If you're building a Twilio project you will inevitably need to run some code in response to an incoming webhook request. One of the easiest ways to do this is with Twilio Functions, our serverless platform for running Node.js. Recently my colleague Dominik released the
twilio-runpackage that makes it easier to develop, test and debug Twilio Functions locally.
I wanted to make it even easier to get started with a Twilio Functions project, so I built a project generator called
Let's take a look at how you can easily start and develop a Twilio Functions project using
There are a few ways you can use
create-twilio-function. The easiest is if you have
npmversion 6 or higher. You can check this out on the command line with:
$ npm --version 6.9.0
If you don't have an up to …
Locally developing and debugging Twilio Functions
Twilio is all about HTTP endpoints & webhooks. From responding to incoming SMS, to controlling the flow of a voice call to blocking unwanted chat messages with an
onMessageSendwebhook, chances are that you'll end up writing an HTTP endpoint for the Twilio product you're interacting with. Twilio Functions allow you to write and host those endpoints directly in the Twilio cloud while relying on the power of Node.js.
What if you want to develop these functions with your IDE or editor of choice and run them locally? What if something goes wrong and you want to use your debugger to dive deeper into it? For this reason I built
twilio-run, a command-line tool that allows you to run your Twilio Functions in your local environment.
Let's dive into how it works, and how it can help your development flow with Twilio.
Re-Introducing the Hackpack v4: Twilio's Open Source Hardware Badge
This year’s Hackpack was our most advanced yet. Sporting a joystick, 7 buttons, a touchscreen, a massive battery, and Linux on a Raspberry Pi Zero W, we hoped to craft the perfect badge for both our conference and your next handheld computing project.
We also designed it with a special goal in mind: to release under an open hardware license. That’s why today we’re proud to announce the hardware collateral and assembly instructions are available under the Solderpad 2.0 license.
Building Twilio’s Hardware Badge
Keeping Track of GitHub Pull Requests with Python and Twilio SMS
If you're working on an urgent project in GitHub with other developers, it's handy to get immediate notifications by SMS. However, there is no SMS option out of the box! So I said, “Enough is enough; I'll start my own notification system!”
In this tutorial, I'll walk you through the steps of building out the beginnings of a notification system for GitHub pull requests. More specifically, we will use the GitHub and Twilio APIs in Python to send texts notifying you when a new pull request has been submitted.
First, we have to set our environment up. This guide was written in Python 3.6. If you haven't already, download Python and Pip. Next we will install
virtualenvto create and activate your virtual environment by entering the followings command in your command-line:
pip3 install virtualenv==15.1.0 python3 -m venv ghpull cd ghpull source …
Continuous Delivery with Jenkins and GitHub
If you can set up a project server once, you can set up Jenkins to deploy that project again and again as you develop, maintain, and expand it.
In this post we will set up a multi-stage deploy server and the Jenkins jobs we need for continuous delivery. By the end you will know how to set up a server and Jenkins jobs to automatically deploy successfully built branches into each environment.
In a previous post we set up a dedicated Jenkins Server and gave it access to our projects’ GitHub account with an SSH key.
We will use a PHP project as an example, but we’ll also talk about how these same steps can be used to deploy most web projects regardless of language, framework, or other considerations.
In order to follow along with this post, you will need the following:
- A PHP project with a repository on …
Creating a Jenkins Server for GitHub Projects
A deploy process should provide consistency, incorporate tests, and utilize a multi stage deploy process to protect your production server, provide useful logging, catch breaking changes quickly, and integrate smoothly with your version control software.
There are a few options available for managing a deploy process like this. Many of these are managed services which means much of it is opaque and outside your control. If you’re like me, you’d rather have total access to and control of your deploy chain. The best option for control freaks like us, is Jenkins.
This post will walk through creating a dedicated Jenkins server and setting it up with an SSH key on your GitHub account.
Moving forward this post will assume a few things about you and your project:
Introducing Twilio’s guardrail
We’ve all been there, alternating between JIRA and a blinking cursor wondering “What does this API even look like?”
That question is the bane of productivity and a spoiler of successful cross-team collaboration. Attempts to consume anything other than a perfectly documented API hit speed-bumps, if not complete show-stoppers.
You may have heard of Swagger, OpenAPI Initiative‘s API specification language. With Swagger, we can write a specification file as well as consume it programmatically via tools like Swagger Editor, swagger-api/swagger-codegen, or anything capable of reading and verifying JSON Schema. Today we’re proud to introduce guardrail, a framework for providing principled code-generation in type-safe languages and frameworks.
API Documentation: progress over perfection
One challenge for a microservice is to adhere to its contracts. As we’ve already seen, it’s possible to document the overall structure of an API fairly accurately. Given that fact, how do we …
Twilio Open Source Rapid Response Kit Adds Heroku Button and New Volunteer Tool
Earlier this year, we released the Rapid Response Kit (RRK), a set of open source tools built for disaster relief efforts. The RRK lets first responders deploy much needed communication apps in minutes.
The community response was incredible with developers offering their contributions to the project. Most recently the RRK was deployed by the Rhode Island Code for America fellows for the Providence Student Union to rally support through SMS broadcast on changing legislation around free bus passes for students.
Today, we have two new capabilities in the RRK including a brand new tool and a one-click hosting addition that makes it even easier to deploy.
One-click Deploys with Heroku Button
The RRK includes tools that require full hosting in order to send and receive calls or messages. The recent launch of Heroku Button fits right in with our open source tools, and is perfect for those looking to quickly …
Open Source Tools for Nonprofits: Twilio.org Github Launches with Rapid Response Kit
In disaster recovery situations communications technologies are essential for rescue teams in the field, people in need of help, or connecting with family members to make sure they are ok. Many times these tools are built on the spot based on needs and sometimes the final apps aren’t deployed in time for the people that really need them.
What if there were simple tools that any developer or organization could deploy at a moment’s notice? What if these tools were open source and powered by the community? We started the Twilio.org initiative to support nonprofits better through technology and amplify their efforts with communications. Today is our first step in cultivating open source resources for disaster relief and nonprofit needs.
Meet the Twilio.org Open Source Rapid Response Kit, Fork it Now
From emergency response to community organization, we built the basic communications apps you need so you can spend less …