Git Product home page Git Product logo

invite's Introduction

Probot's logo, a cartoon robot

A framework for building GitHub Apps to automate and improve your workflow

npm Build Status Codecov @ProbotTheRobot on Twitter


If you've ever thought, "wouldn't it be cool if GitHub could…"; I'm going to stop you right there. Most features can actually be added via GitHub Apps, which extend GitHub and can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. Apps are first class actors within GitHub.

How it works

Probot is a framework for building GitHub Apps in Node.js, written in TypeScript. GitHub Apps can listen to webhook events sent by a repository or organization. Probot uses its internal event emitter to perform actions based on those events. A simple Probot App might look like this:

export default (app) => {
  app.on("issues.opened", async (context) => {
    const issueComment = context.issue({
      body: "Thanks for opening this issue!",
    });
    return context.octokit.issues.createComment(issueComment);
  });

  app.onAny(async (context) => {
    context.log.info({ event: context.name, action: context.payload.action });
  });

  app.onError(async (error) => {
    app.log.error(error);
  });
};

Building a Probot App

If you've landed in this GitHub repository and are looking to start building your own Probot App, look no further than probot.github.io! The Probot website contains our extensive getting started documentation and will guide you through the set up process.

This repository hosts the code for the npm Probot package which is what all Probot Apps run on. Most folks who land in this repository are likely looking to get started building their own app.

Contributing

Probot is built by people just like you! Most of the interesting things are built with Probot, so consider starting by writing a new app or improving one of the existing ones.

If you're interested in contributing to Probot itself, check out our contributing docs to get started.

Want to discuss with Probot users and contributors? Discuss on GitHub!

Ideas

Have an idea for a cool new GitHub App (built with Probot)? That's great! If you want feedback, help, or just to share it with the world you can do so by creating an issue in the probot/ideas repository!

invite's People

Contributors

bkeepers avatar brntbeer avatar gr2m avatar haxzie avatar jasonetco avatar tcbyrd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

invite's Issues

Add to a team

Admin should be able to select a team that the user will be added to

Limit to team on different org

For example, if wanted to allow @probot/maintainers to join another organization. The app would have to be installed on both organizations.

Invite to specific repo

Instead of inviting the user to the organization, the admin can pick specific repositories to add users to as collaborators.

Add README / How does this work?

Noticing there isn't a README or anything. I'm curious about this project, but without a README with an example or two it's hard to tell what this bot actually does, and whether or not it would be worth it to use this. It would be awesome if someone added some doc. Thank you!

Handle error where org is out of seats

{
  "message":"You must purchase at least one more seat to add this user as a member.",
  "errors":[{"code":"no_seat","field":"user"}],
  "documentation_url":"https://github.com/organizations/my-org-name/settings/billing/seats"
}

tunnel server offline: connect ECONNREFUSED 92.51.164.34:443

Hi Team,

I am trying to setup the invite probot,

cloned the repo and running the node app on local

Steps performed as below:

1. npm install
2. renamed .env.example file to .env
3. Wanted GITHUB ID, client id and secret so registered new github app by giving sample webhook URL and home URL.
4. updated the values in .env file
5. npm start

Getting error : tunnel server offline: connect ECONNREFUSED 92.51.164.34:443, retry 1s

How to get rid of this error, Please can I get the detailed steps to be performed to get the app running.

@JasonEtco

Copy link to clipboard

The Share this link text box displays a really long link. It might be better to just have a "Copy link" button that copies the link to the clipboard.

Add client id and client secret to .env.example

Hey there 👋
Is the GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET automatically added to the config? If not I think it'll be a good idea to mention these two in the .env.example.
If it's okay to submit a PR for this, I'd be happy to do it, and I think there's a lack of documentation/guide for setting up the project with necessary permissions required. It'll be great if we could point out to necessary docs from Probot's repo.

The invite for an existing admin add as member

There's an issue when you're admin from a given organization and click on the activated link which causes the owner to loose access to the repo he owned.

To reproduce:

  1. If you a admin of org A, install the app on the org A and click on the invite link, you become a member and lose the admin.

We should handle this case and check if is an admin beforehand

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.