GitHub
GitHub is a web-based platform for version control and collaboration using Git.
Categories: Developer Tools
Type: github/v1
Connections
Version: 1
OAuth2 Authorization Code
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
clientId | Client id | STRING | true | |
clientSecret | Client secret | STRING | true |
Actions
Add Assignee to Issue
Name: addAssigneesToIssue
Adds an assignees to the specified issue.
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
repository | Repository | STRING | true | |
issue | Issue Number | STRING Depends Onrepository | The number of the issue to add assignee to. | true |
assignees | Assignees | ARRAY Items[STRING] | The list of assignees to add to the issue. | true |
Example JSON Structure
{
"label" : "Add Assignee to Issue",
"name" : "addAssigneesToIssue",
"parameters" : {
"repository" : "",
"issue" : "",
"assignees" : [ "" ]
},
"type" : "github/v1/addAssigneesToIssue"
}
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
url | STRING | The URL linking directly to the issue on GitHub. |
repository_url | STRING | The URL of the repository where the issue is located. |
id | NUMBER | ID of the issue. |
number | INTEGER | A unique number identifying the issue within its repository. |
title | STRING | The title or headline of the issue. |
state | STRING | The current state of the issue, such as open or closed. |
assignees | ARRAY Items[{STRING(login), STRING(id), STRING(html_url), STRING(type)}] | A list of users assigned to the issue. |
labels | ARRAY Items[{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
body | STRING | The main content of the issue. |
Output Example
{
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
}
Add Labels to Issue
Name: addLabelsToIssue
Adds labels to the specified issue.
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
repository | Repository | STRING | true | |
issue | Issue Number | STRING Depends Onrepository | The number of the issue to add labels to. | true |
labels | Labels | ARRAY Items[STRING] | The list of labels to add to the issue. | true |
Example JSON Structure
{
"label" : "Add Labels to Issue",
"name" : "addLabelsToIssue",
"parameters" : {
"repository" : "",
"issue" : "",
"labels" : [ "" ]
},
"type" : "github/v1/addLabelsToIssue"
}
Output
Type: ARRAY
Items Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
id | STRING | ID of the label |
name | STRING | Name of the label. |
description | STRING | Description of the label. |
color | STRING | The hexadecimal color code for the label, without the leading #. |
Output Example
[ {
"id" : "",
"name" : "",
"description" : "",
"color" : ""
} ]
Create Comment on Issue
Name: createCommentOnIssue
Adds a comment to the specified issue.
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
repository | Repository | STRING | true | |
issue | Issue Number | STRING Depends Onrepository | The number of the issue to comment on. | true |
body | Comment | STRING | The comment to add to the issue. | true |
Example JSON Structure
{
"label" : "Create Comment on Issue",
"name" : "createCommentOnIssue",
"parameters" : {
"repository" : "",
"issue" : "",
"body" : ""
},
"type" : "github/v1/createCommentOnIssue"
}
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
url | STRING | The URL linking directly to the issue on GitHub. |
repository_url | STRING | The URL of the repository where the issue is located. |
id | NUMBER | ID of the issue. |
number | INTEGER | A unique number identifying the issue within its repository. |
title | STRING | The title or headline of the issue. |
state | STRING | The current state of the issue, such as open or closed. |
assignees | ARRAY Items[{STRING(login), STRING(id), STRING(html_url), STRING(type)}] | A list of users assigned to the issue. |
labels | ARRAY Items[{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
body | STRING | The main content of the issue. |
Output Example
{
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
}
Create Issue
Name: createIssue
Create Issue in GitHub Repository
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
repository | Repository | STRING | Repository where new issue will be created. | true |
title | Title | STRING | Title of the issue. | false |
body | Description | STRING | The description of the issue. | false |
Example JSON Structure
{
"label" : "Create Issue",
"name" : "createIssue",
"parameters" : {
"repository" : "",
"title" : "",
"body" : ""
},
"type" : "github/v1/createIssue"
}
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
url | STRING | The URL linking directly to the issue on GitHub. |
repository_url | STRING | The URL of the repository where the issue is located. |
id | NUMBER | ID of the issue. |
number | INTEGER | A unique number identifying the issue within its repository. |
title | STRING | The title or headline of the issue. |
state | STRING | The current state of the issue, such as open or closed. |
assignees | ARRAY Items[{STRING(login), STRING(id), STRING(html_url), STRING(type)}] | A list of users assigned to the issue. |
labels | ARRAY Items[{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
body | STRING | The main content of the issue. |
Output Example
{
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
}
Get Issue
Name: getIssue
Get information from a specific issue
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
repository | Repository | STRING | true | |
issue | Issue Number | STRING Depends Onrepository | The number of the issue you want to get details from. | true |
Example JSON Structure
{
"label" : "Get Issue",
"name" : "getIssue",
"parameters" : {
"repository" : "",
"issue" : ""
},
"type" : "github/v1/getIssue"
}
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
url | STRING | The URL linking directly to the issue on GitHub. |
repository_url | STRING | The URL of the repository where the issue is located. |
id | NUMBER | ID of the issue. |
number | INTEGER | A unique number identifying the issue within its repository. |
title | STRING | The title or headline of the issue. |
state | STRING | The current state of the issue, such as open or closed. |
assignees | ARRAY Items[{STRING(login), STRING(id), STRING(html_url), STRING(type)}] | A list of users assigned to the issue. |
labels | ARRAY Items[{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
body | STRING | The main content of the issue. |
Output Example
{
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
}
List Issues
Name: listIssues
Retrieve issues assigned to the authenticated user across all accessible repositories.
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
filter | Filter | STRING Optionsassigned, created, mentioned, subscribed, repos, all | Specifies the types of issues to return. | true |
state | State | STRING Optionsopen, closed, all | Indicates the state of the issues to return. | true |
Example JSON Structure
{
"label" : "List Issues",
"name" : "listIssues",
"parameters" : {
"filter" : "",
"state" : ""
},
"type" : "github/v1/listIssues"
}
Output
Type: ARRAY
Items Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
url | STRING | The URL linking directly to the issue on GitHub. |
repository_url | STRING | The URL of the repository where the issue is located. |
id | NUMBER | ID of the issue. |
number | INTEGER | A unique number identifying the issue within its repository. |
title | STRING | The title or headline of the issue. |
state | STRING | The current state of the issue, such as open or closed. |
assignees | ARRAY Items[{STRING(login), STRING(id), STRING(html_url), STRING(type)}] | A list of users assigned to the issue. |
labels | ARRAY Items[{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
body | STRING | The main content of the issue. |
Output Example
[ {
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
} ]
List Repository Issues
Name: listRepositoryIssues
Lists issues in a repository. Only open issues will be listed.
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
repository | Repository | STRING | The name of the repository | true |
Example JSON Structure
{
"label" : "List Repository Issues",
"name" : "listRepositoryIssues",
"parameters" : {
"repository" : ""
},
"type" : "github/v1/listRepositoryIssues"
}
Output
Type: ARRAY
Items Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
url | STRING | The URL linking directly to the issue on GitHub. |
repository_url | STRING | The URL of the repository where the issue is located. |
id | NUMBER | ID of the issue. |
number | INTEGER | A unique number identifying the issue within its repository. |
title | STRING | The title or headline of the issue. |
state | STRING | The current state of the issue, such as open or closed. |
assignees | ARRAY Items[{STRING(login), STRING(id), STRING(html_url), STRING(type)}] | A list of users assigned to the issue. |
labels | ARRAY Items[{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
body | STRING | The main content of the issue. |
Output Example
[ {
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
} ]
Star Repository
Name: starRepository
Stars a repository for the authenticated user.
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
owner | Owner | STRING | The account owner of the repository. The name is not case sensitive. | true |
repository | Repository | STRING | The name of the repository including owner without the .git extension. The name is not case sensitive. | true |
Example JSON Structure
{
"label" : "Star Repository",
"name" : "starRepository",
"parameters" : {
"owner" : "",
"repository" : ""
},
"type" : "github/v1/starRepository"
}
Output
This action does not produce any output.
Triggers
New Issue
Name: newIssue
Triggers when a new issue is created.
Type: DYNAMIC_WEBHOOK
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
repository | Repository | STRING | true |
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
issue | OBJECT Properties{STRING(url), STRING(repository_url), NUMBER(id), INTEGER(number), STRING(title), STRING(state), [{STRING(login), STRING(id), STRING(html_url), STRING(type)}](assignees), [{STRING(id), STRING(name), STRING(description)}](labels), STRING(body)} | |
sender | OBJECT Properties{STRING(login), INTEGER(id)} | Information about the author of the issue. |
action | STRING | The action performed on the issue, such as 'opened', 'closed', or 'reopened'. |
repository | OBJECT Properties{INTEGER(id), STRING(name), STRING(full_name), {STRING(login), INTEGER(id)}(owner), STRING(visibility), INTEGER(forks), INTEGER(open_issues), STRING(default_branch)} |
JSON Example
{
"label" : "New Issue",
"name" : "newIssue",
"parameters" : {
"repository" : ""
},
"type" : "github/v1/newIssue"
}
New Pull Request
Name: newPullRequest
Triggers when a new pull request is created.
Type: DYNAMIC_WEBHOOK
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
repository | Repository | STRING | true |
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
number | INTEGER | Number uniquely identifying the pull request within its repository. |
pull_request | OBJECT Properties{INTEGER(id), STRING(state), STRING(title), STRING(body), INTEGER(commits)} | |
sender | OBJECT Properties{STRING(login), INTEGER(id)} | Information about the author of the pull request. |
action | STRING | The action performed on the pull request, such as opened, closed, or synchronized. |
repository | OBJECT Properties{INTEGER(id), STRING(name), STRING(full_name), {STRING(login), INTEGER(id)}(owner), STRING(visibility), INTEGER(forks), INTEGER(open_issues), STRING(default_branch)} |
JSON Example
{
"label" : "New Pull Request",
"name" : "newPullRequest",
"parameters" : {
"repository" : ""
},
"type" : "github/v1/newPullRequest"
}
What to do if your action is not listed here?
If this component doesn't have the action you need, you can use Custom Action to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
Additional instructions
Connection Setup
- Login to your GitHub account.
- Click on your profile icon in the top right corner.
- Select Settings from the dropdown menu.
- In the left sidebar, click on Developer settings.
- In the left sidebar, click on OAuth Apps.
- Click on New OAuth App.
- Fill in the required fields:
- Application name: Enter a name for your application (e.g.,
Test App
). - Homepage URL: Provide the homepage URL for your application (e.g.,
https://www.bytechef.io/
). - Authorization callback URL: Specify the URL where users will be redirected after authorization (e.g.,
http://127.0.0.1:5173/callback
).
- Application name: Enter a name for your application (e.g.,
- Click Register application.
- Click on Generate a new client secret.
- Copy the Client ID and Client Secret for later use.
Freshsales
Freshsales is a customer relationship management (CRM) software designed to help businesses streamline sales processes and manage customer interactions effectively.
GitLab
GitLab is a web-based DevOps lifecycle tool that provides a Git repository manager, CI/CD pipelines, issue tracking, and more in a single application.