Connector: GitHub

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Connector: GitHub

indika prasad
Introduction
GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both paid plans for private repositories, and free accounts for open source projects.

GitHub Connector Summery
    • Connector Name:  github
    • API Version: v3
    • Technology:  REST
    • API Url:  http://developer.github.com/v3/

Authentication
   oauth2 access token use to access the API [1]

Selected Methods (123) for version 1.0.0

Activity:
    Events (8)
        listPublicEvents – list public  events
        listRepositoryEvents – list repository events
        listIssueEventsForRepository - Repository issue events have a different format than other events, as documented in the Issue Events API.
        listPublicEventsForNetworkOfRepositories - List public events for a network of repositories
        listPublicEventsForAnOrganization - List public events for an organization
        listEventsThatAUserHasReceived - List events that a user has received. These are events that you’ve received by watching repos and following users. If you are authenticated as the given user, you will see private events.
        listEventsPerformedByAUser - List events performed by a user. If you are authenticated as the given user, you will see your private events.  Otherwise, you’ll only see public events.
        listEventsForAnOrganization - List events for an organization

   Feeds (1)
        listFeeds - GitHub provides several timeline resources in Atom format.

   Notifications (4)
        listYourNotifications - List all notifications for the current user, grouped by repository.
        viewSingleThread - View a single thread
        setThreadSubscription - This lets you subscribe to a thread, or ignore it. Subscribing to a thread is unnecessary if the user is already subscribed to the repository. Ignoring a thread will mute all future notifications (until you comment or get @mentioned).
        deleteThreadSubscription - Delete a Thread Subscription

   Starring (4)
        listStargazers - List Stargazers
        listRepositoriesBeingStarred - List repositories being starred by a user.
        starRepository - Star a repository
        unstarRepository - Unstar a repository

Gists
   Gists (8)
        listGists – List a user’s gists
        getSingleGist - Get a single gist
        createGist - Create a gist
        editGist - Edit a gist
        starGist - Star a gist
        unstarGist - Unstar a gist
        forkGist - Fork a gist
        deleteGist - Delete a gist

   Gist Comments (5)
        listCommentsOnGist - List comments on a gist
        getSingleGistComment - Get a single comment
        createGistComment - Create a comment
        editGistComment - Edit a comment
        deleteGistComment - Delete a comment
Git Data
  Blobs (2)
        getBlob - Get a Blob
        createBlob- Create a Blob

  Commits (2)
        getCommit - Get a Commit
        createCommit - Create a Commit


  Trees (1)
        getTree - Get a Tree

Issues
  Issues(5)
        listIssues - List all issues across all the authenticated user’s visible repositories including owned repositories, member repositories,and organization repositories.
        listIssuesForRepository - List issues for a repository
        getSingleIssue -  Get a single issue
        createIssue - Create an issue
        editIssue - Edit an issue

  Assignees (6)
        listIssueAssignees - This call lists all the available assignees (owner + collaborators) to which issues may be assigned.
  Comments
        listCommentsOnIssue - List comments on an issue
        getSingleIssueComment - Get a single comment
        createIssueComment - Create a comment
        editIssueComment - Edit a comment
        deleteIssueComment - Delete a comment
 
  Events (2)
        listEventsForIssue - List events for an issue
        getSingleEvent - Get a single event
 
  Labels (5)
        listLabelsOnIssue - List labels on an issue
        addLabelsToIssue - Add labels to an issue
        removeLabelFromIssue - Remove a label from an issue
        replaceAllLabelsForIssue - Replace all labels for an issue
        removeAllLabelsFromIssue - Remove all labels from an issue


Miscellaneous (2)
        getGitIgnoreTemplates - The Gitignore API gives you access to the available gitignore templates.
        createMarkdownDocument – Create a single Markdown document (similar to wiki)

Organizations (2)
        listUserOrganizations - List all public organizations for an unauthenticated user. Lists private and public organizations for authenticated users.
        getOrganization - Get an Organization

   Members (3)
        membersList - List all users who are members of an organization.
        addMember - To add someone as a member to an org, you must add them to a team.
        removeMember - Removing a user from this list will remove them from all teams and they will no longer have any access to the organization’s repositories.

   Teams (7)
        listTeams - List teams
        getTeam - Get team
        listTeamMembers - List team members.In order to list members in a team, the authenticated user must be a member of the team.
        addTeamMember - Add team member.In order to add a user to a team, the authenticated user must have ‘admin’ permissions to the team or be an owner of the org that the team is associated with.
        removeTeamMember - Remove team member.In order to remove a user from a team, the authenticated user must have ‘admin’ permissions to the team or be an owner of the org that the team is associated with. NOTE: This does not delete the user, it just remove them from the team.
        listTeamRepos - List team repos
        listUserTeams - List user teams.List all of the teams across all of the organizations to which the authenticated user belongs. This method requires user or repo scope when authenticating via OAuth.

Pull Requests (8)
        listPullRequests - List pull requests
        getSinglePullRequest - Get a single pull request
        createPullRequest - Create a pull request
        updatePullRequest - Update a pull request
        listCommitsOnPullRequest - List commits on a pull request
        listPullRequestsFiles - List pull requests files
        getIfPullRequestMerged - Get if a pull request has been merged
        mergePullRequest - Merge a pull request

  Review Comments (5)
        listCommentsOnPullRequest - List comments on a pull request
        getSingleReviewComment - Get a single comment
        createReviewComment - Create a comment
        editReviewComment - Edit a comment
        deleteReviewComment - Delete a comment

Repositories (9)
        listUserRepositories - List public repositories for the specified user.
        listOrganizationRepositories - List repositories for the specified org.
        getRepository – Get  details of a specified repository.
        editRepository - Edit a repository in this organization.
        listContributors - List contributors
        listLanguages - List languages for the specified repository. The value on the right of a language is the number of bytes of code written in that language.
        listTeams - List Teams
        listBranches - List Branches
        getBranch - Get Branch

   Collaborators (1)
        listCollaborators - When authenticating as an organization owner of an organization-owned repository, all organization owners are included in the list of collaborators.

       
   Commit Comments (5)
        listCommentsForSingleCommit - List comments for a single commit
        createCommitComment - Create a commit comment
        getSingleCommitComment - Get a single commit comment
        updateCommitComment - Update a commit comment
        deleteCommitComment - Delete a commit comment

   Commits (3)
        listCommitsOnRepository - List commits on a repository
        getSingleCommit - Get a single commit
        compareTwoCommits - Compare two commits

   Contents (3)
        getReadme - This method returns the preferred README for a repository.
        getContents - This method returns the contents of a file or directory in a repository.
        getArchiveLink - This method will return a 302 to a URL to download a tarball or zipball archive for a repository. Please make sure your HTTP framework is configured to follow redirects or you will need to use the Location header to make a second GET request.

   Forks (2)
        listForks - List forks
        createFork - Create a fork for the authenticated user.

   Merging (1)
        performMerge - The Repo Merging API supports merging branches in a repository.

   Releases (2)
        listReleasesForRepository - Users with push access to the repository will receive all releases (i.e., published releases and draft releases). Users with pull access will receive published releases only.
        getSingleRelease - Get a single release

  Statistics (5)
        getContributionDetails - Get contributors list with additions, deletions, and commit counts
        getCommitActivity - Returns the last year of commit activity grouped by week.
        getCodeFrequency - Get the number of additions and deletions per week
        getContributorParticipation - Get the weekly commit count for the repository owner and everyone else
        getPunchCard - Get the number of commits per hour in each day

  Statuses (2)
        listStatusesForRef - Users with pull access can view commit statuses for a given ref
        createStatus - Users with push access can create commit statuses for a given ref

Search (4)
        searchRepositories - Find repositories via various criteria. This method returns up to 100 results per page.
        searchCode - Find file contents via various criteria. (This method returns up to 100 results per page.)
        searchIssues - Find issues by state and keyword. (This method returns up to 100 results per page.)
        searchUsers -  Find users via various criteria. (This method returns up to 100 results per page.)

Users (2)
        getSingleUser - Get a single user
        getAuthenticatedUser - Get the authenticated user

  Followers (4)
        listFollowersOfUser - List a user’s followers.
        listUsersFollowedByAnotherUser-  List who a user is following.
        followUser - Follow a user
        unfollowUser - Unfollow a user




[1] http://developer.github.com/v3/oauth/
Reply | Threaded
Open this post in threaded view
|

Re: Connector: GitHub

Srinath Perera-3
Is this about github connector for ESB?

Could you send a sample ESB config using github connector and doing something useful?


On Mon, Jan 27, 2014 at 7:15 AM, indika prasad <[hidden email]> wrote:
*Introduction*
GitHub is a web-based hosting service for software development projects that
use the Git revision control system. GitHub offers both paid plans for
private repositories, and free accounts for open source projects.

*GitHub Connector Summery*
    • Connector Name:  github
    • API Version: v3
    • Technology:  REST
    • API Url:  http://developer.github.com/v3/

*Authentication*
   oauth2 access token use to access the API [1]

Selected Methods (123) for version 1.0.0

*Activity:*
    Events (8)
        *listPublicEvents* – list public  events
        *listRepositoryEvents* – list repository events
        *listIssueEventsForRepository* - Repository issue events have a different
format than other events, as documented in the Issue Events API.
        *listPublicEventsForNetworkOfRepositories* - List public events for a
network of repositories
        *listPublicEventsForAnOrganization* - List public events for an
organization
        *listEventsThatAUserHasReceived* - List events that a user has received.
These are events that you’ve received by watching repos and                                             following
users. If you are authenticated as the given user, you will see private
events.
        *listEventsPerformedByAUser* - List events performed by a user. If you are
authenticated as the given user, you will see your private events.
Otherwise, you’ll only see public events.
        *listEventsForAnOrganization* - List events for an organization

   Feeds (1)
        *listFeeds* - GitHub provides several timeline resources in Atom format.

   Notifications (4)
        *listYourNotifications* - List all notifications for the current user,
grouped by repository.
        *viewSingleThread* - View a single thread
        *setThreadSubscription* - This lets you subscribe to a thread, or ignore
it. Subscribing to a thread is unnecessary if the user is already subscribed
to the repository. Ignoring a thread will mute all future notifications
(until you comment or get @mentioned).
        *deleteThreadSubscription* - Delete a Thread Subscription

   Starring (4)
        *listStargazers* - List Stargazers
        *listRepositoriesBeingStarred* - List repositories being starred by a user.
        *starRepository* - Star a repository
        *unstarRepository* - Unstar a repository

Gists
   Gists (8)
        *listGists* – List a user’s gists
        *getSingleGist* - Get a single gist
        *createGist* - Create a gist
        *editGist* - Edit a gist
        *starGist* - Star a gist
        *unstarGist* - Unstar a gist
        *forkGist* - Fork a gist
        *deleteGist* - Delete a gist

   Gist Comments (5)
        *listCommentsOnGist* - List comments on a gist
        *getSingleGistComment* - Get a single comment
        *createGistComment* - Create a comment
        *editGistComment* - Edit a comment
        *deleteGistComment* - Delete a comment
Git Data
  Blobs (2)
        *getBlob* - Get a Blob
        *createBlob*- Create a Blob

  Commits (2)
        *getCommit* - Get a Commit
        *createCommit* - Create a Commit


  Trees (1)
        *getTree* - Get a Tree

Issues
  Issues(5)
        *listIssues* - List all issues across all the authenticated user’s visible
repositories including owned repositories, member repositories,and
organization repositories.
        *listIssuesForRepository* - List issues for a repository
        *getSingleIssue* -  Get a single issue
        *createIssue* - Create an issue
        *editIssue* - Edit an issue

  Assignees (6)
        *listIssueAssignees* - This call lists all the available assignees (owner +
collaborators) to which issues may be assigned.
  Comments
        *listCommentsOnIssue* - List comments on an issue
        *getSingleIssueComment* - Get a single comment
        *createIssueComment* - Create a comment
        *editIssueComment* - Edit a comment
        *deleteIssueComment* - Delete a comment

  Events (2)
        *listEventsForIssue* - List events for an issue
        *getSingleEvent* - Get a single event

  Labels (5)
        *listLabelsOnIssue* - List labels on an issue
        *addLabelsToIssue* - Add labels to an issue
        *removeLabelFromIssue* - Remove a label from an issue
        *replaceAllLabelsForIssue* - Replace all labels for an issue
        *removeAllLabelsFromIssue* - Remove all labels from an issue


Miscellaneous (2)
        *getGitIgnoreTemplates* - The Gitignore API gives you access to the
available gitignore templates.
        *createMarkdownDocument* – Create a single Markdown document (similar to
wiki)

Organizations (2)
        *listUserOrganizations* - List all public organizations for an
unauthenticated user. Lists private and public organizations for
authenticated users.
        *getOrganization* - Get an Organization

   Members (3)
        *membersList* - List all users who are members of an organization.
        *addMember* - To add someone as a member to an org, you must add them to a
team.
        *removeMember* - Removing a user from this list will remove them from all
teams and they will no longer have any access to the organization’s
repositories.

   Teams (7)
        *listTeams* - List teams
        *getTeam* - Get team
        listTeamMembers - List team members.In order to list members in a team, the
authenticated user must be a member of the team.
        *addTeamMember* - Add team member.In order to add a user to a team, the
authenticated user must have ‘admin’ permissions to the team or be                      an
owner of the org that the team is associated with.
        *removeTeamMember* - Remove team member.In order to remove a user from a
team, the authenticated user must have ‘admin’ permissions to the                       team or
be an owner of the org that the team is associated with. NOTE: This does not
delete the user, it just remove them from the                   team.
        *listTeamRepos* - List team repos
        *listUserTeams* - List user teams.List all of the teams across all of the
organizations to which the authenticated user belongs. This method requires
user or repo scope when authenticating via OAuth.

Pull Requests (8)
        *listPullRequests* - List pull requests
        *getSinglePullRequest* - Get a single pull request
        *createPullRequest* - Create a pull request
        *updatePullRequest* - Update a pull request
        *listCommitsOnPullRequest* - List commits on a pull request
        *listPullRequestsFiles* - List pull requests files
        *getIfPullRequestMerged* - Get if a pull request has been merged
        *mergePullRequest* - Merge a pull request

  Review Comments (5)
        *listCommentsOnPullRequest* - List comments on a pull request
        *getSingleReviewComment* - Get a single comment
        *createReviewComment* - Create a comment
        *editReviewComment* - Edit a comment
        *deleteReviewComment* - Delete a comment

Repositories (9)
        *listUserRepositories* - List public repositories for the specified user.
        *listOrganizationRepositories* - List repositories for the specified org.
        *getRepository* – Get  details of a specified repository.
        *editRepository* - Edit a repository in this organization.
        listContributors - List contributors
        *listLanguages* - List languages for the specified repository. The value on
the right of a language is the number of bytes of code written in that
language.
        *listTeams* - List Teams
        *listBranches* - List Branches
        *getBranch* - Get Branch

   Collaborators (1)
        *listCollaborators* - When authenticating as an organization owner of an
organization-owned repository, all organization owners are included in the
list of collaborators.


   Commit Comments (5)
        *listCommentsForSingleCommit* - List comments for a single commit
        *createCommitComment* - Create a commit comment
        *getSingleCommitComment* - Get a single commit comment
        *updateCommitComment* - Update a commit comment
        *deleteCommitComment* - Delete a commit comment

   Commits (3)
        *listCommitsOnRepository* - List commits on a repository
        *getSingleCommit* - Get a single commit
        *compareTwoCommits* - Compare two commits

   Contents (3)
        *getReadme* - This method returns the preferred README for a repository.
        *getContents* - This method returns the contents of a file or directory in
a repository.
        *getArchiveLink* - This method will return a 302 to a URL to download a
tarball or zipball archive for a repository. Please make sure your HTTP
framework is configured to follow redirects or you will need to use the
Location header to make a second GET request.

   Forks (2)
        *listForks* - List forks
        *createFork* - Create a fork for the authenticated user.

   Merging (1)
        *performMerge* - The Repo Merging API supports merging branches in a
repository.

   Releases (2)
        *listReleasesForRepository* - Users with push access to the repository will
receive all releases (i.e., published releases and draft releases). Users
with pull access will receive published releases only.
        *getSingleRelease* - Get a single release

  Statistics (5)
        *getContributionDetails* - Get contributors list with additions, deletions,
and commit counts
        *getCommitActivity* - Returns the last year of commit activity grouped by
week.
        *getCodeFrequency* - Get the number of additions and deletions per week
        *getContributorParticipation* - Get the weekly commit count for the
repository owner and everyone else
        *getPunchCard* - Get the number of commits per hour in each day

  Statuses (2)
        *listStatusesForRef* - Users with pull access can view commit statuses for
a given ref
        *createStatus* - Users with push access can create commit statuses for a
given ref

Search (4)
        *searchRepositories* - Find repositories via various criteria. This method
returns up to 100 results per page.
        *searchCode* - Find file contents via various criteria. (This method
returns up to 100 results per page.)
        *searchIssues* - Find issues by state and keyword. (This method returns up
to 100 results per page.)
        *searchUsers* -  Find users via various criteria. (This method returns up
to 100 results per page.)

Users (2)
        *getSingleUser* - Get a single user
        *getAuthenticatedUser* - Get the authenticated user

  Followers (4)
        *listFollowersOfUser* - List a user’s followers.
        *listUsersFollowedByAnotherUser*-  List who a user is following.
        *followUser* - Follow a user
        *unfollowUser* - Unfollow a user




[1] http://developer.github.com/v3/oauth/



--
View this message in context: http://wso2-oxygen-tank.10903.n7.nabble.com/Connector-GitHub-tp91251.html
Sent from the WSO2 Architecture mailing list archive at Nabble.com.
_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture



--
============================
Srinath Perera, Ph.D.
   http://people.apache.org/~hemapani/
   http://srinathsview.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: Connector: GitHub

indika prasad
Hi Srinath,

Yes. We are in the process of developing an ESB connector for the github. Basically there are 254 operations listed under the API document[ 1]. We have selected 123 out of 254 to go ahead based on the usability of each operation.

Here with I have attached the orginal analysis document [2] where anybody can suggest/remove operation from the above list.

We can create and share the connector coding after the operation selection finalized.


[1] http://developer.github.com/v3/
[2] github_method_analysis.docx 

Thanks
Rgds
Indika Kularathne