Skip to content

Latest commit

 

History

History
68 lines (47 loc) · 6.48 KB

about-writing-code-for-a-github-app.md

File metadata and controls

68 lines (47 loc) · 6.48 KB
title shortTitle intro versions topics redirect_from
About writing code for a GitHub App
About writing GitHub App code
You need to write code to add functionality to your {% data variables.product.prodname_github_app %}.
fpt ghes ghec
*
*
*
GitHub Apps
/apps/building-your-first-github-app
/apps/quickstart-guides/using-the-github-api-in-your-app
/developers/apps/using-the-github-api-in-your-app
/developers/apps/guides/using-the-github-api-in-your-app
/apps/creating-github-apps/guides/using-the-github-api-in-your-app
/apps/creating-github-apps/writing-code-for-a-github-app/using-the-github-api-in-your-app
/apps/quickstart-guides/setting-up-your-development-environment
/developers/apps/setting-up-your-development-environment-to-create-a-github-app
/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app
/apps/creating-github-apps/guides/setting-up-your-development-environment-to-create-a-github-app
/apps/creating-github-apps/writing-code-for-a-github-app/setting-up-your-development-environment-to-create-a-github-app

Prerequisites

Before you write code for a {% data variables.product.prodname_github_app %}, you should register a {% data variables.product.prodname_github_app %}. When you register a {% data variables.product.prodname_github_app %}, you select permissions for the app. These permissions dictate what the {% data variables.product.prodname_github_app %} can do. When you register an app, you also specify other settings, including which webhook events your {% data variables.product.prodname_github_app %} should receive. You can always change the settings for your {% data variables.product.prodname_github_app %} registration. For more information, see AUTOTITLE and AUTOTITLE.

If you want your {% data variables.product.prodname_github_app %} to access repository and/or organization data, you need to install your {% data variables.product.prodname_github_app %}. For more information, see AUTOTITLE.

Writing code for a {% data variables.product.prodname_github_app %}

In order for your {% data variables.product.prodname_github_app %} to do something, you need to write code to add functionality to your {% data variables.product.prodname_github_app %}.

For tutorials about how to write code for a {% data variables.product.prodname_github_app %}, see:

You can use the credentials from your {% data variables.product.prodname_github_app %} registration to make authenticated requests to {% data variables.product.company_short %}'s APIs. For more information, see AUTOTITLE.

During development, you will likely use your personal computer or codespace to run your {% data variables.product.prodname_github_app %}. You may need to make some modifications to your {% data variables.product.prodname_github_app %} registration during development:

  • If your app receives webhooks, you may want to use a webhook proxy URL to forward webhooks from GitHub to your computer or codespace. You will need to update the "Webhook URL" setting in your {% data variables.product.prodname_github_app %} registration to use your webhook proxy URL. For an example, see AUTOTITLE.

  • If your app uses the web application flow to authorize a user, you may want to update the "Callback URL" setting in your {% data variables.product.prodname_github_app %} registration to use a local callback URL. For an example, see AUTOTITLE.

Next steps

Once you write the code for your {% data variables.product.prodname_github_app %}, you should ensure that it follows best practices. If necessary, remember to update your {% data variables.product.prodname_github_app %} registration. If your {% data variables.product.prodname_github_app %} needs to run on a server instead of a user's device, deploy your app to your server. Finally, you can share your {% data variables.product.prodname_github_app %} with other users and organizations.

Follow best practices

Before deploying your {% data variables.product.prodname_github_app %}, make sure you follow best practices. For example, make sure that your {% data variables.product.prodname_github_app %}'s credentials are secure. For more information, see AUTOTITLE.

Update your {% data variables.product.prodname_github_app %} registration

If you changed the {% data variables.product.prodname_github_app %} registration for development, make sure you update the registration to use production-ready values. For example, if you used a webhook proxy URL for development, you should update the "Webhook URL" field to use the URL where you want your {% data variables.product.prodname_github_app %} to receive webhooks during production.

Deploy your {% data variables.product.prodname_github_app %}

Once you have written the code for your {% data variables.product.prodname_github_app %}, your code needs to run somewhere. If your app is a website or web app, you might host your app on a server like Azure App Service. If your app is a client-side app, it might run on a user's device.

Share your {% data variables.product.prodname_github_app %}

If you want to share your {% data variables.product.prodname_github_app %} with other users and organizations, you should make your {% data variables.product.prodname_github_app %} public. {% ifversion fpt or ghec %}To make your {% data variables.product.prodname_github_app %} more discoverable, you can list it on {% data variables.product.prodname_marketplace %}. {% endif %}For more information, see AUTOTITLE.