Skip to content

Commit b94fa7a

Browse files
author
Sam Harrison
committed
docs: clean up and reconcile first timers documentation
1 parent 3c3277b commit b94fa7a

File tree

3 files changed

+79
-69
lines changed

3 files changed

+79
-69
lines changed

FIRST_TIMERS.md

Lines changed: 79 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,79 @@
1-
## Welcome to the Twilio SendGrid Open Source Community
2-
If you are new to Open Source, you are at the right place to start with. Contributions are always encouraged & appreciated. Just follow the organisation's Contribution Policies & you are good to go.
3-
4-
## How to get Started?
5-
- [Explore Twilio SendGrid](#explore)
6-
- [Raise Issues(If Found Any)](#issues)
7-
- [Setting up the Development Environment](#setup)
8-
- [Proposing Change through a Pull Request](#pr)
9-
- [Be Patient & Wait for reviews](#reviews)
10-
11-
<a name="explore"></a>
12-
### Explore Twilio SendGrid
13-
Step 1: Get yourself Access to Twilio SendGrid API Service absolutely free from [here](https://sendgrid.com/free/?source=sendgrid-python) \
14-
Step 2: Get familiar with Twilio SendGrid Service
15-
- Prerequisites are Python version 2.6, 2.7, 3.4, 3.5 or 3.6
16-
- Set up your [Twilio SendGrid API Key](https://app.sendgrid.com/settings/api_keys) to your local workspace [using](https://github.com/sendgrid/sendgrid-python#setup-environment-variables)
17-
- Install Twilio SendGrid to your workspace using `pip install sendgrid`
18-
- Copy & Run few sample programs from [here](https://github.com/sendgrid/sendgrid-python#hello-email)
19-
20-
<a name="issues"></a>
21-
### Raise Issues
22-
Twilio SendGrid uses GitHub as the content management service so, all the issues related to the project be it some feature request or a bug report, all are reported at the [GitHub Issue Tracker](https://github.com/sendgrid/sendgrid-python/issues)\
23-
Kindly make sure, to check for any duplicate issues raised by fellow contributors before opening a new issue. Be humble & polite while commenting on issues
24-
- Feature Request\
25-
In case you feel like something is missing or lacking in the API Service, feel free to share your views & opinions with the community
26-
- Bug Report\
27-
If you encounter any sort of bug or abnormal behavior, feel free to inform the community after performing the following checks:
28-
- Update to the latest version & check if the bug persists
29-
- Check the Issue Tracker for any similar bug report
30-
31-
Finally, fill up the Bug Report Template & Open the Issue highlighting your encountered bug & detailed steps to regenerate the bug.
32-
33-
<a name="setup"></a>
34-
### Setting up the Development Environment
35-
- **Setting up Locally**
36-
- Step 1: Install the Prerequistes: Any Version of Python (2.6 through 3.6) and both [python_http_client](https://github.com/sendgrid/python-http-client) and [ecdsa_python](https://github.com/starkbank/ecdsa-python)
37-
- Step 2: Get a local copy of repository using `git clone https://github.com/sendgrid/sendgrid-python.git`
38-
- Step 3: Set your [Twilio SendGrid API Key](https://app.sendgrid.com/settings/api_keys) to your local workspace using\
39-
`echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env`\
40-
`echo "sendgrid.env" >> .gitignore`\
41-
`source ./sendgrid.env`
42-
- Step 4: The entire codebase consist of 3 major divisions
43-
- **/examples** contains *Working examples that demonstrate usage*
44-
- **/tests** contains *the unit and profiling tests*
45-
- **/sendgrid** contains *the Web API v3 client ie sendgrid.py and other files*.
46-
47-
<a name="pr"></a>
48-
## Proposing Change through a Pull Request
49-
**Step 1:** Fork the project & Clone your fork using `git clone https://github.com/<USERNAME>/sendgrid-python.git`
50-
51-
**Step 2:** Reconfigure the remotes using `cd sendgrid-python` and `git remote add upstream https://github.com/sendgrid/sendgrid-python.git`
52-
53-
**Step 3:** Create a new branch for your modifications using `git checkout -b <topic-branch-name>`
54-
55-
**Step 4:** Commit the changes in logical chunks & add commit messages strictly following [this](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
56-
57-
**Step 5:** Run all test locally, [for more info](CONTRIBUTING.md#testing)
58-
59-
**Step 6:** Locally merge your the upstream development branch into your topic-branch using `git pull [--rebase] upstream main`
60-
61-
**Step 7:** Push the topic branch up to your fork using `git push origin <topic-branch-name>`
62-
63-
**Step 8:** Open a Pull Request with clear title and description against the main branch.
64-
65-
<a name="reviews"></a>
66-
## Be Patient & Wait for Reviews
67-
Kindly be patient & follow the suggestions as provided by the peer reviewers. Make required amendments & changes to the PR as asked.
68-
69-
## [Explore New Issues to work upon](https://github.com/sendgrid/sendgrid-python/labels/difficulty%3A%20easy)
1+
# How To Contribute to Twilio SendGrid Repositories via GitHub
2+
Contributing to the Twilio SendGrid repositories is easy! All you need to do is find an open issue (see the bottom of this page for a list of repositories containing open issues), fix it and submit a pull request. Once you have submitted your pull request, the team can easily review it before it is merged into the repository.
3+
4+
To make a pull request, follow these steps:
5+
6+
1. Log into GitHub. If you do not already have a GitHub account, you will have to create one in order to submit a change. Click the Sign up link in the upper right-hand corner to create an account. Enter your username, password, and email address. If you are an employee of Twilio SendGrid, please use your full name with your GitHub account and enter Twilio SendGrid as your company so we can easily identify you.
7+
8+
<img src="/static/img/github-sign-up.png" width="800">
9+
10+
2. __[Fork](https://help.github.com/fork-a-repo/)__ the [sendgrid-python](https://github.com/sendgrid/sendgrid-python) repository:
11+
12+
<img src="/static/img/github-fork.png" width="800">
13+
14+
3. __Clone__ your fork via the following commands:
15+
16+
```bash
17+
# Clone your fork of the repo into the current directory
18+
git clone https://github.com/your_username/sendgrid-python
19+
# Navigate to the newly cloned directory
20+
cd sendgrid-python
21+
# Assign the original repo to a remote called "upstream"
22+
git remote add upstream https://github.com/sendgrid/sendgrid-python
23+
```
24+
25+
> Don't forget to replace *your_username* in the URL by your real GitHub username.
26+
27+
4. __Create a new topic branch__ (off the main project development branch) to contain your feature, change, or fix:
28+
29+
```bash
30+
git checkout -b <topic-branch-name>
31+
```
32+
33+
5. __Commit your changes__ in logical chunks.
34+
35+
Please adhere to these [git commit message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) or your code is unlikely be merged into the main project. Use Git's [interactive rebase](https://help.github.com/articles/interactive-rebase) feature to tidy up your commits before making them public. Probably you will also have to create tests (if needed) or create or update the example code that demonstrates the functionality of this change to the code.
36+
37+
6. __Locally merge (or rebase)__ the upstream development branch into your topic branch:
38+
39+
```bash
40+
git pull [--rebase] upstream main
41+
```
42+
43+
7. __Push__ your topic branch up to your fork:
44+
45+
```bash
46+
git push origin <topic-branch-name>
47+
```
48+
49+
8. __[Open a Pull Request](https://help.github.com/articles/creating-a-pull-request/#changing-the-branch-range-and-destination-repository/)__ with a clear title and description against the `main` branch. All tests must be passing before we will review the PR.
50+
51+
## Important notice
52+
53+
Before creating a pull request, make sure that you respect the repository's constraints regarding contributions. You can find them in the [CONTRIBUTING.md](CONTRIBUTING.md) file.
54+
55+
## Repositories with Open, Easy, Help Wanted, Issue Filters
56+
57+
* [Python SDK](https://github.com/sendgrid/sendgrid-python/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
58+
* [PHP SDK](https://github.com/sendgrid/sendgrid-php/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
59+
* [C# SDK](https://github.com/sendgrid/sendgrid-csharp/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
60+
* [Ruby SDK](https://github.com/sendgrid/sendgrid-ruby/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
61+
* [Node.js SDK](https://github.com/sendgrid/sendgrid-nodejs/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
62+
* [Java SDK](https://github.com/sendgrid/sendgrid-java/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
63+
* [Go SDK](https://github.com/sendgrid/sendgrid-go/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
64+
* [Python STMPAPI Client](https://github.com/sendgrid/smtpapi-python/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
65+
* [PHP STMPAPI Client](https://github.com/sendgrid/smtpapi-php/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
66+
* [C# STMPAPI Client](https://github.com/sendgrid/smtpapi-csharp/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
67+
* [Ruby STMPAPI Client](https://github.com/sendgrid/smtpapi-ruby/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
68+
* [Node.js STMPAPI Client](https://github.com/sendgrid/smtpapi-nodejs/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
69+
* [Java STMPAPI Client](https://github.com/sendgrid/smtpapi-java/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
70+
* [Go STMPAPI Client](https://github.com/sendgrid/smtpapi-go/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
71+
* [Python HTTP Client](https://github.com/sendgrid/python-http-client/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
72+
* [PHP HTTP Client](https://github.com/sendgrid/php-http-client/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
73+
* [C# HTTP Client](https://github.com/sendgrid/csharp-http-client/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
74+
* [Java HTTP Client](https://github.com/sendgrid/java-http-client/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
75+
* [Ruby HTTP Client](https://github.com/sendgrid/ruby-http-client/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
76+
* [Go HTTP Client](https://github.com/sendgrid/rest/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
77+
* [Open API Definition](https://github.com/sendgrid/sendgrid-oai/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
78+
* [DX Automator](https://github.com/sendgrid/dx-automator/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)
79+
* [Documentation](https://github.com/sendgrid/docs/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22difficulty%3A+easy%22+label%3A%22status%3A+help+wanted%22)

static/img/github-fork.png

14.8 KB
Loading

static/img/github-sign-up.png

114 KB
Loading

0 commit comments

Comments
 (0)