docs/ai-agents/connectors/github/REFERENCE.md
This is the full reference documentation for the Github agent connector.
The Github connector supports the following entities and actions.
| Entity | Actions |
|---|---|
| Repositories | Get, List, API Search |
| Org Repositories | List |
| Branches | List, Get |
| Commits | List, Get |
| Releases | List, Get |
| Issues | List, Get, API Search |
| Pull Requests | List, Get, API Search |
| Reviews | List |
| Comments | List, Get |
| Pr Comments | List, Get |
| Labels | List, Get |
| Milestones | List, Get |
| Organizations | Get, List |
| Users | Get, List, API Search |
| Teams | List, Get |
| Tags | List, Get |
| Stargazers | List |
| Viewer | Get |
| Viewer Repositories | List |
| Projects | List, Get |
| Project Items | List |
| Discussions | List, Get, API Search |
| File Content | Get |
| Directory Content | List |
Gets information about a specific GitHub repository using GraphQL
await github.repositories.get(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "repositories",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository (username or organization) |
repo | string | Yes | The name of the repository |
fields | array<string> | No | Optional array of field names to select. |
| If not provided, uses default fields. | |||
Returns a list of repositories for the specified user using GraphQL
await github.repositories.list(
username="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "repositories",
"action": "list",
"params": {
"username": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
username | string | Yes | The username of the user whose repositories to list |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination (from previous response's endCursor) |
fields | array<string> | No | Optional array of field names to select. |
| If not provided, uses default fields. | |||
Search for GitHub repositories using GitHub's powerful search syntax. Examples: "language:python stars:>1000", "topic:machine-learning", "org:facebook is:public"
await github.repositories.api_search(
query="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "repositories",
"action": "api_search",
"params": {
"query": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | GitHub repository search query using GitHub's search syntax |
limit | integer | No | Number of results to return |
after | string | No | Cursor for pagination (from previous response's endCursor) |
fields | array<string> | No | Optional array of field names to select. |
| If not provided, uses default fields. | |||
Returns a list of repositories for the specified organization using GraphQL
await github.org_repositories.list(
org="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "org_repositories",
"action": "list",
"params": {
"org": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
org | string | Yes | The organization login/username |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Returns a list of branches for the specified repository using GraphQL
await github.branches.list(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "branches",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific branch using GraphQL
await github.branches.get(
owner="<str>",
repo="<str>",
branch="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "branches",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"branch": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
branch | string | Yes | The branch name |
fields | array<string> | No | Optional array of field names to select |
Returns a list of commits for the default branch using GraphQL
await github.commits.list(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "commits",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
path | string | No | Only include commits that modified this file path (e.g. "airbyte-integrations/connectors/source-stripe/") |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific commit by SHA using GraphQL
await github.commits.get(
owner="<str>",
repo="<str>",
sha="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "commits",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"sha": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
sha | string | Yes | The commit SHA |
fields | array<string> | No | Optional array of field names to select |
Returns a list of releases for the specified repository using GraphQL
await github.releases.list(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "releases",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific release by tag name using GraphQL
await github.releases.get(
owner="<str>",
repo="<str>",
tag="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "releases",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"tag": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
tag | string | Yes | The release tag name |
fields | array<string> | No | Optional array of field names to select |
Returns a list of issues for the specified repository using GraphQL
await github.issues.list(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
states | array<"OPEN" | "CLOSED"> | No | Filter by issue state |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific issue using GraphQL
await github.issues.get(
owner="<str>",
repo="<str>",
number=0
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
number | integer | Yes | The issue number |
fields | array<string> | No | Optional array of field names to select |
Search for issues using GitHub's search syntax
await github.issues.api_search(
query="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "api_search",
"params": {
"query": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | GitHub issue search query using GitHub's search syntax |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Returns a list of pull requests for the specified repository using GraphQL
await github.pull_requests.list(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pull_requests",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
states | array<"OPEN" | "CLOSED" | "MERGED"> | No | Filter by pull request state |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific pull request using GraphQL
await github.pull_requests.get(
owner="<str>",
repo="<str>",
number=0
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pull_requests",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
number | integer | Yes | The pull request number |
fields | array<string> | No | Optional array of field names to select |
Search for pull requests using GitHub's search syntax
await github.pull_requests.api_search(
query="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pull_requests",
"action": "api_search",
"params": {
"query": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | GitHub pull request search query using GitHub's search syntax |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Returns a list of reviews for the specified pull request using GraphQL
await github.reviews.list(
owner="<str>",
repo="<str>",
number=0
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "reviews",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
number | integer | Yes | The pull request number |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Returns a list of comments for the specified issue using GraphQL
await github.comments.list(
owner="<str>",
repo="<str>",
number=0
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
number | integer | Yes | The issue number |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific issue comment by its GraphQL node ID.
Note: This endpoint requires a GraphQL node ID (e.g., 'IC_kwDOBZtLds6YWTMj'), not a numeric database ID. You can obtain node IDs from the Comments_List response, where each comment includes both 'id' (node ID) and 'databaseId' (numeric ID).
await github.comments.get(
id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "get",
"params": {
"id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The GraphQL node ID of the comment |
fields | array<string> | No | Optional array of field names to select |
Returns a list of comments for the specified pull request using GraphQL
await github.pr_comments.list(
owner="<str>",
repo="<str>",
number=0
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pr_comments",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
number | integer | Yes | The pull request number |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific pull request comment by its GraphQL node ID.
Note: This endpoint requires a GraphQL node ID (e.g., 'IC_kwDOBZtLds6YWTMj'), not a numeric database ID. You can obtain node IDs from the PRComments_List response, where each comment includes both 'id' (node ID) and 'databaseId' (numeric ID).
await github.pr_comments.get(
id="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pr_comments",
"action": "get",
"params": {
"id": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The GraphQL node ID of the comment |
fields | array<string> | No | Optional array of field names to select |
Returns a list of labels for the specified repository using GraphQL
await github.labels.list(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "labels",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific label by name using GraphQL
await github.labels.get(
owner="<str>",
repo="<str>",
name="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "labels",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"name": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
name | string | Yes | The label name |
fields | array<string> | No | Optional array of field names to select |
Returns a list of milestones for the specified repository using GraphQL
await github.milestones.list(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "milestones",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
states | array<"OPEN" | "CLOSED"> | No | Filter by milestone state |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific milestone by number using GraphQL
await github.milestones.get(
owner="<str>",
repo="<str>",
number=0
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "milestones",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
number | integer | Yes | The milestone number |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific organization using GraphQL
await github.organizations.get(
org="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "organizations",
"action": "get",
"params": {
"org": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
org | string | Yes | The organization login/username |
fields | array<string> | No | Optional array of field names to select |
Returns a list of organizations the user belongs to using GraphQL
await github.organizations.list(
username="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "organizations",
"action": "list",
"params": {
"username": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
username | string | Yes | The username of the user |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific user using GraphQL
await github.users.get(
username="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "get",
"params": {
"username": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
username | string | Yes | The username of the user |
fields | array<string> | No | Optional array of field names to select |
Returns a list of members for the specified organization using GraphQL
await github.users.list(
org="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "list",
"params": {
"org": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
org | string | Yes | The organization login/username |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Search for GitHub users using search syntax
await github.users.api_search(
query="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "api_search",
"params": {
"query": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | GitHub user search query using GitHub's search syntax |
limit | integer | No | Number of results to return |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Returns a list of teams for the specified organization using GraphQL
await github.teams.list(
org="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "list",
"params": {
"org": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
org | string | Yes | The organization login/username |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific team using GraphQL
await github.teams.get(
org="<str>",
team_slug="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "get",
"params": {
"org": "<str>",
"team_slug": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
org | string | Yes | The organization login/username |
team_slug | string | Yes | The team slug |
fields | array<string> | No | Optional array of field names to select |
Returns a list of tags for the specified repository using GraphQL
await github.tags.list(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tags",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific tag by name using GraphQL
await github.tags.get(
owner="<str>",
repo="<str>",
tag="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tags",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"tag": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
tag | string | Yes | The tag name |
fields | array<string> | No | Optional array of field names to select |
Returns a list of users who have starred the repository using GraphQL
await github.stargazers.list(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "stargazers",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about the currently authenticated user. This is useful when you don't know the username but need to access the current user's profile, permissions, or associated resources.
await github.viewer.get()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "viewer",
"action": "get"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
fields | array<string> | No | Optional array of field names to select |
Returns a list of repositories owned by the authenticated user. Unlike Repositories_List which requires a username, this endpoint automatically lists repositories for the current authenticated user.
await github.viewer_repositories.list()
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "viewer_repositories",
"action": "list"
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination (from previous response's endCursor) |
fields | array<string> | No | Optional array of field names to select |
Returns a list of GitHub Projects V2 for the specified organization. Projects V2 are the new project boards that replaced classic projects.
await github.projects.list(
org="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "list",
"params": {
"org": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
org | string | Yes | The organization login/username |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination (from previous response's endCursor) |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific GitHub Project V2 by number
await github.projects.get(
org="<str>",
project_number=0
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "get",
"params": {
"org": "<str>",
"project_number": 0
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
org | string | Yes | The organization login/username |
project_number | integer | Yes | The project number |
fields | array<string> | No | Optional array of field names to select |
Returns a list of items (issues, pull requests, draft issues) in a GitHub Project V2. Each item includes its field values like Status, Priority, etc.
await github.project_items.list(
org="<str>",
project_number=0
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "project_items",
"action": "list",
"params": {
"org": "<str>",
"project_number": 0
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
org | string | Yes | The organization login/username |
project_number | integer | Yes | The project number |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination (from previous response's endCursor) |
fields | array<string> | No | Optional array of field names to select |
Returns a list of discussions for the specified repository using GraphQL
await github.discussions.list(
owner="<str>",
repo="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "discussions",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
states | array<"OPEN" | "CLOSED"> | No | Filter by discussion state |
answered | boolean | No | Filter by answered/unanswered status |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Gets information about a specific discussion by number using GraphQL
await github.discussions.get(
owner="<str>",
repo="<str>",
number=0
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "discussions",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
number | integer | Yes | The discussion number |
fields | array<string> | No | Optional array of field names to select |
Search for discussions using GitHub's search syntax
await github.discussions.api_search(
query="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "discussions",
"action": "api_search",
"params": {
"query": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | GitHub discussion search query using GitHub's search syntax |
per_page | integer | No | The number of results per page |
after | string | No | Cursor for pagination |
fields | array<string> | No | Optional array of field names to select |
Returns the text content of a file at a specific path and git ref (branch, tag, or commit SHA). Only works for text files. Binary files will have text as null and isBinary as true.
await github.file_content.get(
owner="<str>",
repo="<str>",
path="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "file_content",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"path": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
path | string | Yes | The file path within the repository (e.g. 'README.md' or 'src/main.py') |
ref | string | No | The git ref to read from — branch name, tag, or commit SHA. Defaults to 'HEAD' (default branch) |
fields | array<string> | No | Optional array of field names to select |
Returns a list of files and subdirectories at a specific path in the repository. Each entry includes the name, type (blob for files, tree for directories), and object ID. Use this to explore repository structure before reading specific files.
await github.directory_content.list(
owner="<str>",
repo="<str>",
path="<str>"
)
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "directory_content",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>",
"path": "<str>"
}
}'
| Parameter Name | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | The account owner of the repository |
repo | string | Yes | The name of the repository |
path | string | Yes | The directory path within the repository (e.g. 'src' or 'airbyte-integrations/connectors/source-stripe') |
ref | string | No | The git ref — branch name, tag, or commit SHA. Defaults to 'HEAD' (default branch) |
fields | array<string> | No | Optional array of field names to select |