Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Github Integration #6

Open
47 tasks
adamfisher opened this issue Feb 12, 2025 · 0 comments
Open
47 tasks

Add Github Integration #6

adamfisher opened this issue Feb 12, 2025 · 0 comments

Comments

@adamfisher
Copy link
Contributor

This issue tracks the implementation of an integration for GitHub in Elsa Workflows. The module should allow workflows to interact with GitHub, supporting issue tracking, repository management, pull requests, and event monitoring.

Tasks

  • Create a new module: Elsa.Integrations.GitHub

  • Implement Workflow Activities:

    • AddAssignees - Adds assignees to an issue or pull request.
    • AddLabels - Adds labels to an issue or pull request.
    • CreateComment - Creates a new comment.
    • CreateIssue - Creates a new issue.
    • DeleteAssignees - Removes assignees from an issue or pull request.
    • DeleteComment - Removes an existing comment.
    • DeleteLabel - Removes a label from an issue.
    • DeleteIssue - Removes an existing issue.
    • ExecuteGraphQLQuery - Performs an arbitrary authorized GraphQL query.
    • GetBranch - Retrieves details of an existing branch.
    • GetComment - Retrieves details of an existing comment.
    • GetGist - Retrieves details of an existing gist.
    • GetMilestone - Retrieves details of an existing milestone.
    • GetPullRequest - Retrieves details of an existing pull request.
    • GetRelease - Retrieves details of an existing release.
    • GetRepository - Retrieves details of an existing repository.
    • GetUser - Retrieves details of an existing user.
    • GetAssignee - Retrieves details of an existing assignee.
    • GetIssue - Retrieves details of an existing issue.
    • GetOrganization - Retrieves details of an existing organization.
    • SearchAssignees - Searches for assignees or lists them all.
    • SearchBranches - Searches for branches or lists them all.
    • SearchComments - Searches for comments or lists them all.
    • SearchGists - Searches for gists or lists them all.
    • SearchIssues - Searches for issues or lists them all.
    • SearchMilestones - Searches for milestones or lists them all.
    • SearchOrganizationMembers - Searches for organization members or lists them all.
    • SearchPullRequests - Searches for pull requests or lists them all.
    • SearchReleases - Searches for releases or lists them all.
    • UpdateComment - Updates an existing comment.
    • UpdateIssue - Updates an existing issue.
    • WatchBranches - Triggers when a new branch is created.
    • WatchCommitComments - Triggers when a new comment on a commit is created.
    • WatchCommits - Triggers when a new commit is created.
    • WatchForks - Triggers when a new fork is created.
    • WatchGists - Triggers when a gist is created or updated.
    • WatchIssues - Triggers when an issue is created or updated.
    • WatchLabels - Triggers when a new label is created.
    • WatchMilestones - Triggers when a milestone is created or updated.
    • WatchOrganizations - Triggers when a new organization is created.
    • WatchPullRequests - Triggers when a pull request is created or updated.
    • WatchReleases - Triggers when a new release is created.
    • WatchRepositories - Triggers when a new repository is created.
  • Add Unit Tests

  • Add Documentation (README.md)

References

Notes

  • This should follow the standard structure used for Elsa Integrations.
  • The integration should support authentication via OAuth 2.0 and personal access tokens.
  • Includes REST and GraphQL API support for flexible data retrieval.

Contributor Guidelines

If you're interested in working on this issue:

  1. Comment below to claim it.
  2. Follow the CONTRIBUTING.md guide.
  3. Submit a PR referencing this issue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant