Skip to content

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

NameLabelTypeDescriptionRequired
clientIdClient idSTRINGtrue
clientSecretClient secretSTRINGtrue

Actions

Add Assignee to Issue

Name: addAssigneesToIssue

Adds an assignees to the specified issue.

Properties

NameLabelTypeDescriptionRequired
repositoryRepositorySTRINGtrue
issueIssue NumberSTRING
Depends On repository
The number of the issue to add assignee to.true
assigneesAssigneesARRAY
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

NameTypeDescription
urlSTRINGThe URL linking directly to the issue on GitHub.
repository_urlSTRINGThe URL of the repository where the issue is located.
idNUMBERID of the issue.
numberINTEGERA unique number identifying the issue within its repository.
titleSTRINGThe title or headline of the issue.
stateSTRINGThe current state of the issue, such as open or closed.
assigneesARRAY
Items [{STRING(login), STRING(id), STRING(html_url), STRING(type)}]
A list of users assigned to the issue.
labelsARRAY
Items [{STRING(id), STRING(name), STRING(description)}]
A collection of labels associated with the issue.
bodySTRINGThe 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

NameLabelTypeDescriptionRequired
repositoryRepositorySTRINGtrue
issueIssue NumberSTRING
Depends On repository
The number of the issue to add labels to.true
labelsLabelsARRAY
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

NameTypeDescription
idSTRINGID of the label
nameSTRINGName of the label.
descriptionSTRINGDescription of the label.
colorSTRINGThe 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

NameLabelTypeDescriptionRequired
repositoryRepositorySTRINGtrue
issueIssue NumberSTRING
Depends On repository
The number of the issue to comment on.true
bodyCommentSTRINGThe 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

NameTypeDescription
urlSTRINGThe URL linking directly to the issue on GitHub.
repository_urlSTRINGThe URL of the repository where the issue is located.
idNUMBERID of the issue.
numberINTEGERA unique number identifying the issue within its repository.
titleSTRINGThe title or headline of the issue.
stateSTRINGThe current state of the issue, such as open or closed.
assigneesARRAY
Items [{STRING(login), STRING(id), STRING(html_url), STRING(type)}]
A list of users assigned to the issue.
labelsARRAY
Items [{STRING(id), STRING(name), STRING(description)}]
A collection of labels associated with the issue.
bodySTRINGThe 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

NameLabelTypeDescriptionRequired
repositoryRepositorySTRINGRepository where new issue will be created.true
titleTitleSTRINGTitle of the issue.false
bodyDescriptionSTRINGThe 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

NameTypeDescription
urlSTRINGThe URL linking directly to the issue on GitHub.
repository_urlSTRINGThe URL of the repository where the issue is located.
idNUMBERID of the issue.
numberINTEGERA unique number identifying the issue within its repository.
titleSTRINGThe title or headline of the issue.
stateSTRINGThe current state of the issue, such as open or closed.
assigneesARRAY
Items [{STRING(login), STRING(id), STRING(html_url), STRING(type)}]
A list of users assigned to the issue.
labelsARRAY
Items [{STRING(id), STRING(name), STRING(description)}]
A collection of labels associated with the issue.
bodySTRINGThe 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

NameLabelTypeDescriptionRequired
repositoryRepositorySTRINGtrue
issueIssue NumberSTRING
Depends On repository
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

NameTypeDescription
urlSTRINGThe URL linking directly to the issue on GitHub.
repository_urlSTRINGThe URL of the repository where the issue is located.
idNUMBERID of the issue.
numberINTEGERA unique number identifying the issue within its repository.
titleSTRINGThe title or headline of the issue.
stateSTRINGThe current state of the issue, such as open or closed.
assigneesARRAY
Items [{STRING(login), STRING(id), STRING(html_url), STRING(type)}]
A list of users assigned to the issue.
labelsARRAY
Items [{STRING(id), STRING(name), STRING(description)}]
A collection of labels associated with the issue.
bodySTRINGThe 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

NameLabelTypeDescriptionRequired
filterFilterSTRING
Options assigned, created, mentioned, subscribed, repos, all
Specifies the types of issues to return.true
stateStateSTRING
Options open, 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

NameTypeDescription
urlSTRINGThe URL linking directly to the issue on GitHub.
repository_urlSTRINGThe URL of the repository where the issue is located.
idNUMBERID of the issue.
numberINTEGERA unique number identifying the issue within its repository.
titleSTRINGThe title or headline of the issue.
stateSTRINGThe current state of the issue, such as open or closed.
assigneesARRAY
Items [{STRING(login), STRING(id), STRING(html_url), STRING(type)}]
A list of users assigned to the issue.
labelsARRAY
Items [{STRING(id), STRING(name), STRING(description)}]
A collection of labels associated with the issue.
bodySTRINGThe 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

NameLabelTypeDescriptionRequired
repositoryRepositorySTRINGThe name of the repositorytrue

Example JSON Structure

{
"label" : "List Repository Issues",
"name" : "listRepositoryIssues",
"parameters" : {
"repository" : ""
},
"type" : "github/v1/listRepositoryIssues"
}

Output

Type: ARRAY

Items Type: OBJECT

Properties

NameTypeDescription
urlSTRINGThe URL linking directly to the issue on GitHub.
repository_urlSTRINGThe URL of the repository where the issue is located.
idNUMBERID of the issue.
numberINTEGERA unique number identifying the issue within its repository.
titleSTRINGThe title or headline of the issue.
stateSTRINGThe current state of the issue, such as open or closed.
assigneesARRAY
Items [{STRING(login), STRING(id), STRING(html_url), STRING(type)}]
A list of users assigned to the issue.
labelsARRAY
Items [{STRING(id), STRING(name), STRING(description)}]
A collection of labels associated with the issue.
bodySTRINGThe 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

NameLabelTypeDescriptionRequired
ownerOwnerSTRINGThe account owner of the repository. The name is not case sensitive.true
repositoryRepositorySTRINGThe 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

NameLabelTypeDescriptionRequired
repositoryRepositorySTRINGtrue

Output

Type: OBJECT

Properties

NameTypeDescription
issueOBJECT
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)}
senderOBJECT
Properties {STRING(login), INTEGER(id)}
Information about the author of the issue.
actionSTRINGThe action performed on the issue, such as ‘opened’, ‘closed’, or ‘reopened’.
repositoryOBJECT
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

NameLabelTypeDescriptionRequired
repositoryRepositorySTRINGtrue

Output

Type: OBJECT

Properties

NameTypeDescription
numberINTEGERNumber uniquely identifying the pull request within its repository.
pull_requestOBJECT
Properties {INTEGER(id), STRING(state), STRING(title), STRING(body), INTEGER(commits)}
senderOBJECT
Properties {STRING(login), INTEGER(id)}
Information about the author of the pull request.
actionSTRINGThe action performed on the pull request, such as opened, closed, or synchronized.
repositoryOBJECT
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"
}


Additional instructions


Connection Setup

  1. Login to your GitHub account.
  2. Click on your profile icon in the top right corner.
  3. Select Settings from the dropdown menu.
  4. In the left sidebar, click on Developer settings.
  5. In the left sidebar, click on OAuth Apps.
  6. Click on New OAuth App.
  7. 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).
  8. Click Register application.
  9. Click on Generate a new client secret.
  10. Copy the Client ID and Client Secret for later use.