---
title: Tasks
---

## All tasks

| Function Name                    | Description                                                 |
| -------------------------------- | ----------------------------------------------------------- |
| `createIssue`                    | Creates a new issue in a repository.                        |
| `addIssueAssignees`              | Adds assignees to an existing issue.                        |
| `addIssueLabels`                 | Adds labels to an existing issue.                           |
| `createIssueComment`             | Creates a new comment on an existing issue.                 |
| `getRepo`                        | Retrieves information about a repository.                   |
| `createIssueCommentWithReaction` | Creates a new comment on an existing issue with a reaction. |
| `addIssueCommentReaction`        | Adds a reaction to an existing issue comment.               |
| `updateWebhook`                  | Updates an existing webhook.                                |
| `createWebhook`                  | Creates a new webhook.                                      |
| `listWebhooks`                   | Lists the webhooks for a repository.                        |
| `updateOrgWebhook`               | Updates an existing webhook for an organization.            |
| `createOrgWebhook`               | Creates a new webhook for an organization.                  |
| `listOrgWebhooks`                | Lists the webhooks for an organization.                     |

## Usage

```ts
client.defineJob({
  id: "github-integration-on-issue-opened",
  name: "GitHub Integration - On Issue Opened",
  version: "0.1.0",
  integrations: { github },
  trigger: github.triggers.repo({
    event: events.onIssueOpened,
    owner: "triggerdotdev",
    repo: "empty",
  }),
  run: async (payload, io, ctx) => {
    await io.github.addIssueAssignees("add assignee", {
      owner: payload.repository.owner.login,
      repo: payload.repository.name,
      issueNumber: payload.issue.number,
      assignees: ["matt-aitken"],
    });

    await io.github.addIssueLabels("add label", {
      owner: payload.repository.owner.login,
      repo: payload.repository.name,
      issueNumber: payload.issue.number,
      labels: ["bug"],
    });

    return { payload, ctx };
  },
});
```
