Skip to content

Run your first job

With the webhook registered and at least one agent and trigger configured, you are ready to run Mate for the first time.

The simplest trigger to test is issue_assigned. In GitLab:

  1. Open any issue in the project where you registered the webhook.
  2. In the Assignees field on the right sidebar, assign the issue to the bot user.

GitLab fires a webhook event to Mate. Within a few seconds, a new job appears in the console.

Navigate to Jobs in the tenant sidebar. The table refreshes automatically every few seconds while jobs are in progress.

The job passes through these statuses:

StatusMeaning
STARTINGContainer is being allocated; agent has not run yet
RUNNINGAgent is actively executing
FINISHINGAgent finished; container is shutting down
DONEJob completed normally
CANCELEDStopped by user or timeout
ERROREDUnexpected failure

Click any row to open the Job Detail page.

The detail page shows a summary (status, outcome, start/finish time, cost, tool call count) and a live Event timeline that streams events as they arrive:

  • Status change — transitions between statuses.
  • Tool call — each GitLab API call the agent made, with outcome (OK / error) and duration.
  • Log — stdout/stderr output from the agent process.
  • Final status — the outcome (SUCCESS or FAILURE) and exit code.

While the job is running, the timeline is labelled LIVE and new entries appear at the top. Use Pause to stop the live feed temporarily; Resume to continue.

To cancel an in-flight job, click Cancel job on the detail page. Cancellation is accepted immediately and the job transitions to FINISHING then CANCELED.

The agent acts as the bot user. During the closed beta, results arrive as comments from the bot user — a reply posted on the issue or MR that triggered the job. Write actions such as pushing branches, opening merge requests, and updating issues are part of the permission model but their tools are not yet enabled, so the agent does not perform them today.

Check the issue or MR in GitLab that triggered the job to see the agent’s comment.

  • No job row after 30 seconds: check that the webhook was saved correctly in GitLab (Settings → Webhooks → Recent deliveries). A 4xx response means the URL or secret is wrong. A network error means GitLab could not reach ingest.mate.engineer.
  • Job appears but stays ERRORED: open the detail page and check the log events for the error message. Common causes are a missing or expired LLM key, insufficient bot permissions on the project, or a config validation error.
  • Job completes but the bot did nothing in GitLab: the agent ran but determined no action was needed, or it lacks the necessary permissions. Check the tool call events and review the permissions list in your agent config.

You have completed the walkthrough. Mate is set up and running jobs. From here you can:

  • Refine the agent’s system_prompt to match your project conventions.
  • Add triggers for other events (MR assignments, label changes, comment mentions, pipeline failures).
  • Expand permissions once you are confident in the agent’s behaviour.
  • Register the webhook on additional projects — each project sends events to the same tenant webhook URL.