Skip to content

vendor_connectors.google.jules

Google Jules Connector - HTTP client for Google Jules AI Agent API.

Jules is Google’s AI coding agent that can analyze code, create PRs, and automate development tasks.

Usage: from vendor_connectors.google.jules import JulesConnector

connector = JulesConnector(api_key="...")
# List available sources (GitHub repos)
sources = connector.list_sources()
# Create a session
session = connector.create_session(
prompt="Fix the login bug",
source="sources/github/org/repo",
automation_mode="AUTO_CREATE_PR"
)
# Poll for completion
status = connector.get_session(session.name)

Reference: https://developers.google.com/jules/api

SessionStateJules session states.
AutomationModeAutomation modes for Jules sessions.
SourceA connected source (e.g., GitHub repository).
SourceContextContext for a session’s source.
PullRequestOutputPull request created by Jules.
SessionA Jules session.
JulesConnectorConnector for Google Jules AI Agent API.

class vendor_connectors.google.jules.SessionState

Section titled “class vendor_connectors.google.jules.SessionState”

Bases: str, enum.Enum

Jules session states.

Initialize self. See help(type(self)) for accurate signature.

‘SESSION_STATE_UNSPECIFIED’

‘RUNNING’

‘PAUSED’

‘COMPLETED’

‘FAILED’

‘AWAITING_PLAN_APPROVAL’

‘AWAITING_USER_RESPONSE’

‘CANCELLED’

‘IN_PROGRESS’

‘PENDING’

‘BLOCKED’

class vendor_connectors.google.jules.AutomationMode

Section titled “class vendor_connectors.google.jules.AutomationMode”

Bases: str, enum.Enum

Automation modes for Jules sessions.

Initialize self. See help(type(self)) for accurate signature.

‘AUTOMATION_MODE_UNSPECIFIED’

‘AUTO_CREATE_PR’

‘MANUAL’

class vendor_connectors.google.jules.Source

Section titled “class vendor_connectors.google.jules.Source”

Bases: pydantic.BaseModel

A connected source (e.g., GitHub repository).

‘Field(…)’

‘Field(…)’

‘Field(…)’

class vendor_connectors.google.jules.SourceContext

Section titled “class vendor_connectors.google.jules.SourceContext”

Bases: pydantic.BaseModel

Context for a session’s source.

‘Field(…)’

‘Field(…)’

class vendor_connectors.google.jules.PullRequestOutput

Section titled “class vendor_connectors.google.jules.PullRequestOutput”

Bases: pydantic.BaseModel

Pull request created by Jules.

‘Field(…)’

‘Field(…)’

‘Field(…)’

class vendor_connectors.google.jules.Session

Section titled “class vendor_connectors.google.jules.Session”

Bases: pydantic.BaseModel

A Jules session.

None

‘Field(…)’

‘Field(…)’

‘Field(…)’

‘Field(…)’

‘Field(…)’

‘Field(…)’

‘Field(…)’

Get the pull request output if available.

exception vendor_connectors.google.jules.JulesError(message: str, code: int = 0, details: Any = None)

Section titled “exception vendor_connectors.google.jules.JulesError(message: str, code: int = 0, details: Any = None)”

Bases: Exception

Error from Jules API.

Initialize self. See help(type(self)) for accurate signature.

class vendor_connectors.google.jules.JulesConnector(api_key: str | None = None, base_url: str | None = None, timeout: float = 60.0, **kwargs)

Section titled “class vendor_connectors.google.jules.JulesConnector(api_key: str | None = None, base_url: str | None = None, timeout: float = 60.0, **kwargs)”

Bases: vendor_connectors.base.VendorConnectorBase

Connector for Google Jules AI Agent API.

Provides methods to interact with Jules for automated coding tasks.

Initialize the Jules connector.

Args: api_key: Jules API key. Defaults to JULES_API_KEY env var. base_url: API base URL. Defaults to production. timeout: Request timeout in seconds. **kwargs: Extra arguments for base class.

https://jules.googleapis.com/v1alpha’

‘JULES_API_KEY’

Build Jules-specific headers.

Handle API response, raising on errors.

List available sources (connected GitHub repos).

Args: page_size: Maximum number of results. page_token: Pagination token.

Returns: List of Source objects.

Create a new Jules session.

Args: prompt: Task description for Jules. source: Source resource name (e.g., sources/github/org/repo). title: Optional session title. starting_branch: Git branch to start from. automation_mode: AUTO_CREATE_PR or MANUAL. require_plan_approval: Whether to require explicit plan approval.

Returns: Created Session object.

Get a session by name.

Args: session_name: Full resource name (e.g., sessions/123).

Returns: Session object with current state.

List sessions.

Args: page_size: Maximum number of results. page_token: Pagination token.

Returns: List of Session objects.

Approve the plan for a session that requires approval.

Args: session_name: Full resource name.

Returns: Updated Session object.

Add a follow-up message to a session or resume it.

Note: The Jules API uses :sendMessage endpoint. An empty body resumes a paused session. A message can be included in certain states.

Args: session_name: Full resource name. message: Optional user message.

Returns: Updated Session object.

Resume a paused or awaiting session.

Args: session_name: Full resource name.

Returns: Updated Session object.