Skip to main content

openci_shared 2.0.0 copy "openci_shared: ^2.0.0" to clipboard
openci_shared: ^2.0.0 copied to clipboard

Shared constants and utility models for OpenCI organization.

openci_shared #

Shared constants and models for OpenCI.

Upgrading to 2.0.0 #

Remove githubBaseUrl arguments and property reads from Team and BuildJobPlan. The server owns repository URL configuration through GITHUB_API_BASE_URL. BuildJobPlan.fromJson accepts older planner payloads by ignoring their legacy githubBaseUrl field. Use the verified GitHub connection API below for team connections.

GitHub connection #

Use OpenCIApiService to read and confirm a pending GitHub connection:

Method Endpoint Response body type
getGitHubConnectionSession(teamId, reference) POST /teams/{teamId}/github/session GitHubConnectionSessionResult
getGitHubConnectionCandidates(teamId, reference) POST /teams/{teamId}/github/candidates GitHubConnectionCandidatesResult
confirmGitHubConnection(teamId, reference, installationId) POST /teams/{teamId}/github/confirm GitHubConnectionConfirmationResult

Read methods send only reference in the JSON body. Confirmation sends reference and the selected installationId. Configure createOpenCIChopperClient with the existing Firebase ID-token provider; the token is added to the Bearer header. Keep the reference out of URLs and logs. Session reads have a ten-second timeout. Candidate reads and confirmation allow one minute for the server's GitHub requests.

Confirmation rechecks the user's authority before saving the connection and consuming the temporary session. Its successful response contains only success: true.

Check response.isSuccessful before using the typed body. An empty candidates list is a successful response. For non-2xx responses, response.body is null and response.error retains the JSON string. GitHub failures include a code: github_reauthorization_required (409), github_permissions_required (403), or github_unavailable (502). These differ from an OpenCI authentication failure (401) or an invalid connection session (403 without a GitHub code). Confirmation can also return github_connection_conflict (409) when another team owns the selected installation.

Workflow files #

OpenCIApiService.fetchOpenCIFiles requests GET /teams/{teamId}/repositories/{repo}/openci-files. Pass the commit or branch as ref, plus the repository owner and GitHub App installationId. The response contains Dart workflow files from openci/ as JSON objects with name, path, and content. Requests require team membership or a valid internal API key.

0
likes
150
points
488
downloads

Documentation

API reference

Publisher

verified publisheropenci.org

Weekly Downloads

Shared constants and utility models for OpenCI organization.

Repository (GitHub)
View/report issues

License

Apache-2.0 (license)

Dependencies

chopper, freezed_annotation, http, json_annotation, logging, sentry

More

Packages that depend on openci_shared