Endpoint to update GitHub App Meta data


Use cases

  1. Have an APP_README.md file in the app’s repository and push changes to that file automatically to the GitHub App’s description
  2. Update required permissions based on new features in the app
  3. Change the Webhook URL for staging environments or even the main app itself if its implementation changed to receive the webhooks at a new URL, changing that automatically right after a successful deployment would be helpful

I don’t see a reason not to allow to change the secret, too, e.g. we could change it with every deployment ¯\_(ツ)_/¯


Another thing I’d like to be able to do is to update the avatar of the app using the API :slight_smile:


Hi @gr2m, thanks for this.

I’m not certain that I understand the context for this. I have questions!

I’m not sure I clearly understand your use case. This is the README.md for the GitHub App itself?

This would be considered repository contents, not metadata, but I do see how it would make sense for a GitHub App to have full access to its own codebase.

For this one, I’m not sure I follow the part about required permissions or new features. Is this a flow that happens between the installers of a GitHub App and the GitHub App itself after the permissions have been updated? I’ve never tried this so I’m not sure what currently happens.

Do we currently have different webhooks for staging vs production environments? Or would this be two different GitHub Apps that are technically unrelated, and you’d want to update the Webhook URL for the app?


Let me explain with an example. I created https://github.com/apps/wip-bot, its source code is at https://github.com/gr2m/wip-bot. The bot is continuously deployed to https://zeit.co/now via Travis.

So far, so neat.

But what I cannot do is to maintain the description on https://github.com/apps/wip-bot together with its source code:

If you don’t want your PR to be merged accidentally, prefix it with "WIP - ", and WIP bot will set its status to error.

I would like to be able to update that description on the app’s public website each time I deploy the app. Does that make sense?

Now, say I would add a new feature to the wip-bot: merge the PR once the WIP was removed. For that, I would need to add another permission to the current app: write access to pull request. I would like to configure the permissions as part of the source code and then update the permissions as part of the continuous deployment.

When permissions get changed, people who installed it see a notification and have to grant the app the new permission.

This would be two different GitHub Apps.

My overall point is, I would like to be able to update all settings that I see on https://github.com/settings/apps/wip-bot/ using the API


Thanks for elaborating, this is really helpful.

Got it! I’ll pass this on to the team.