This is a sample add-on that demonstrates using external services to bring rich information into Gmail, as well as contextual triggering based on email content. It triggers in response to messages containing links GitHub issues or pull requests and displays additional relevant information.
Note: This is not an official Google product.
If you're new to add-on development or Apps Script, try the quickstart before proceeding.
This sample requires the following:
- Node.js is installed with
npm
andnpx
commands. - A GitHub account, as well as notification emails for an issue or pull request from from a hosted repository.
Download the sample app and navigate into the app directory:
-
Clone the Gmail add-ons samples, to your local machine:
git clone https://github.com/googlesamples/add-ons-samples.git
Alternatively, you can download the sample as a zip file and extract it.
-
Change to the sample directory:
cd add-ons-samples/github
-
Initialize the project:
npm install
-
Bundle the dependencies:
npm run build
Deploy the add-on by following these steps:
-
Authorize clasp to manage your scripts
npx @google/clasp login
-
Create a new project:
npx @google/clasp create --type standalone --title "GitHub Reader"
-
Push the code:
npx @google/clasp push -f
Access the GitHub API requires registration. To register your own application:
-
Open the script editor:
npx @google/clasp open
-
Get the script id by clicking on File > Project properties and note the value of the Script ID field.
-
Follow GitHub's guide to create an OAuth Application. Use the value
https://script.google.com/macros/d/{SCRIPT_ID}/usercallback
for the Authorization callback URL, replacing{SCRIPT_ID}
with the script id located in the previous step. -
Create a script property with the credentials:
a. Click on File > Project properties > Script properties.
b. Click Add row.
c. Enter the property name
githubCredentials
.d. Click on the blank area in the Value column.
e. Enter the value below, subsituting the
{CLIENT_ID}
and{CLIENT_SECRET}
with the values provided by GitHub.{"clientId": "{CLIENT_ID}", "clientSecret": "{CLIENT_SECRET}" }
f. Click Save.
Once the add-on is deployed, install the add-on on your account using these steps:
-
Open the project
npx @google/clasp open
-
In the Apps Script editor, select Publish > Deploy from manifest... to open the Deployments dialog.
-
In the Latest Version (Head) row, click Install add-on to install the currently saved version of the add-on in development-mode.
-
Open Gmail. If Gmail was open prior to enabling the add-on, you may need to refresh the tab.
-
Open a message in Gmail.
-
The add-on should place a contextual card on the right-side of the window, with a message asking for authorization. Click the Authorize access link to open a dialog where you can authorize the add-on.
-
Select the account that should authorize the add-on.
-
Read the notice in the next dialog carefully, then click Allow.
-
Once authorized, the add-on should automatically refresh and start operating.
Please read our guidelines for contributors.
This sample is licensed under the Apache 2 license.