jmleroux / circleci-php-client
CircleCI PHP client
Installs: 2 831
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 3
Open Issues: 3
Requires
- php: >=8.1
- ext-json: *
- symfony/http-client: ^6.1
- webmozart/assert: ^1.11.0
Requires (Dev)
- ext-sockets: *
- donatj/mock-webserver: ^2.5.0
- friendsofphp/php-cs-fixer: ^3.11.0
- phpstan/phpstan: ^1.8.6
- phpunit/phpunit: ^9.5.25
- symfony/dotenv: ^6.1
- dev-master
- v5.1.4
- v5.1.3
- v5.1.2
- v5.1.0
- v5.0.0
- v4.0.0
- v3.5.3
- v3.5.2
- v3.5.1
- v3.5.0
- v3.4.1
- v3.4.0
- v3.3.1
- v3.3.0
- v3.2.2
- v3.2.1
- v3.2.0
- v3.2-beta.1
- v3.1.0
- v3.1-beta.1
- v3.0.0
- v2.2.0
- v2.1.1
- v2.1.0
- 2.0.0
- v1.0-beta.2
- v1.0-beta.1
- v0.1-beta
- dev-dependabot/composer/symfony/http-client-6.4.15
- dev-dependabot/composer/symfony/process-6.4.14
- dev-dependabot/composer/symfony/http-client-6.4.14
- dev-update-models
This package is auto-updated.
Last update: 2024-11-13 16:46:16 UTC
README
Docker
Install the library:
make vendor
Run tests:
make tests
Run coverage:
make coverage
Usage
Run the example script:
docker-compose run --rm php ./doc/examples/last_build.php
use Jmleroux\CircleCi\Api\BranchLastBuild; use Jmleroux\CircleCi\Client; require_once __DIR__.'/../../vendor/autoload.php'; $client = new Client('c900a267b73d8fbcab665fedc818c8de2b6aedf1'); $query = new BranchLastBuild($client); $build = $query->execute('github', 'jmleroux', 'circleci-php-client', 'master'); var_dump($build);
Output:
class stdClass#34 (57) {
public $compare =>
NULL
public $previous_successful_build =>
class stdClass#32 (3) {
public $build_num =>
int(86)
public $status =>
string(7) "success"
public $build_time_millis =>
int(7750)
}
public $build_parameters =>
class stdClass#18 (1) {
public $CIRCLE_JOB =>
string(5) "tests"
}
public $oss =>
bool(true)
public $all_commit_details_truncated =>
bool(false)
public $committer_date =>
string(25) "2019-02-24T18:07:15+01:00"
public $body =>
string(0) ""
public $usage_queued_at =>
string(24) "2019-02-24T17:07:26.913Z"
public $context_ids =>
array(0) {
}
public $fail_reason =>
NULL
public $retry_of =>
NULL
public $reponame =>
string(19) "circleci-php-client"
public $ssh_users =>
array(0) {
}
public $build_url =>
string(55) "https://circleci.com/gh/jmleroux/circleci-php-client/87"
public $parallel =>
int(1)
public $failed =>
bool(false)
public $branch =>
string(6) "master"
public $username =>
string(8) "jmleroux"
public $author_date =>
string(25) "2019-02-24T18:07:15+01:00"
public $why =>
string(6) "github"
public $user =>
class stdClass#28 (6) {
public $is_user =>
bool(true)
public $login =>
string(8) "jmleroux"
public $avatar_url =>
string(52) "https://avatars1.githubusercontent.com/u/1516770?v=4"
public $name =>
string(17) "jean-marie leroux"
public $vcs_type =>
string(6) "github"
public $id =>
int(1516770)
}
public $vcs_revision =>
string(40) "b79c5014ebe89d25871d14ef9df9256bb1797abf"
public $workflows =>
class stdClass#22 (7) {
public $job_name =>
string(5) "tests"
public $job_id =>
string(36) "fa1bd4bc-7281-46fd-92b2-bfcae4e9457e"
public $workflow_id =>
string(36) "487024d9-63fc-49dc-ab0c-dd521b0bbc2e"
public $workspace_id =>
string(36) "487024d9-63fc-49dc-ab0c-dd521b0bbc2e"
public $upstream_job_ids =>
array(1) {
[0] =>
string(36) "d6a86dad-4b05-4c62-b9b8-abbee757d1b2"
}
public $upstream_concurrency_map =>
class stdClass#21 (0) {
}
public $workflow_name =>
string(10) "build_test"
}
public $vcs_tag =>
NULL
public $build_num =>
int(87)
public $infrastructure_fail =>
bool(false)
public $committer_email =>
string(22) "jmleroux.pro@gmail.com"
public $has_artifacts =>
bool(true)
public $previous =>
class stdClass#19 (3) {
public $build_num =>
int(86)
public $status =>
string(7) "success"
public $build_time_millis =>
int(7750)
}
public $status =>
string(7) "success"
public $committer_name =>
string(17) "jean-marie leroux"
public $retries =>
NULL
public $subject =>
string(16) "Add Projects API"
public $vcs_type =>
string(6) "github"
public $timedout =>
bool(false)
public $dont_build =>
NULL
public $lifecycle =>
string(8) "finished"
public $no_dependency_cache =>
bool(false)
public $stop_time =>
string(24) "2019-02-24T17:07:56.709Z"
public $ssh_disabled =>
bool(true)
public $build_time_millis =>
int(28216)
public $picard =>
class stdClass#35 (3) {
public $build_agent =>
class stdClass#33 (2) {
public $image =>
string(33) "circleci/picard:1.0.7981-23afa854"
public $properties =>
class stdClass#26 (2) {
...
}
}
public $resource_class =>
class stdClass#36 (3) {
public $cpu =>
double(2)
public $ram =>
int(4096)
public $class =>
string(6) "medium"
}
public $executor =>
string(6) "docker"
}
public $circle_yml =>
class stdClass#37 (1) {
public $string =>
string(1030) "version: 2
jobs:
build:
docker:
- image: circleci/php:7.2-browsers
working_directory: ~/repo
steps:
- run:
name: Disable XDebug
command: sudo sed -i 's/^zend_extension/;zend_extension/g' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
- checkout
- run: composer install -n --prefer-dist
- persist_to_workspace:
root: ~/repo
paths:
- vendor
tests:
docker:
- image: circleci/php:7.2-browsers
working_directory: ~/repo
"...
}
public $messages =>
array(0) {
}
public $is_first_green_build =>
bool(false)
public $job_name =>
NULL
public $start_time =>
string(24) "2019-02-24T17:07:28.493Z"
public $canceler =>
NULL
public $all_commit_details =>
array(2) {
[0] =>
class stdClass#38 (13) {
public $committer_date =>
string(25) "2019-02-24T18:07:15+01:00"
public $body =>
string(0) ""
public $branch =>
string(6) "master"
public $author_date =>
string(25) "2019-02-24T18:07:15+01:00"
public $committer_email =>
string(22) "jmleroux.pro@gmail.com"
public $commit =>
string(40) "e8e5581de62e8c9c0fc0cf588e12eaa547ba20b0"
public $committer_login =>
string(8) "jmleroux"
public $committer_name =>
string(17) "jean-marie leroux"
public $subject =>
string(28) "Add DotEnv for dev and tests"
public $commit_url =>
string(95) "https://github.com/jmleroux/circleci-php-client/commit/e8e5581de62e8c9c0fc0cf588e12eaa547ba20b0"
public $author_login =>
string(8) "jmleroux"
public $author_name =>
string(8) "jmleroux"
public $author_email =>
string(22) "jmleroux.pro@gmail.com"
}
[1] =>
class stdClass#39 (13) {
public $committer_date =>
string(25) "2019-02-24T18:07:15+01:00"
public $body =>
string(0) ""
public $branch =>
string(6) "master"
public $author_date =>
string(25) "2019-02-24T18:07:15+01:00"
public $committer_email =>
string(22) "jmleroux.pro@gmail.com"
public $commit =>
string(40) "b79c5014ebe89d25871d14ef9df9256bb1797abf"
public $committer_login =>
string(8) "jmleroux"
public $committer_name =>
string(17) "jean-marie leroux"
public $subject =>
string(16) "Add Projects API"
public $commit_url =>
string(95) "https://github.com/jmleroux/circleci-php-client/commit/b79c5014ebe89d25871d14ef9df9256bb1797abf"
public $author_login =>
string(8) "jmleroux"
public $author_name =>
string(8) "jmleroux"
public $author_email =>
string(22) "jmleroux.pro@gmail.com"
}
}
public $platform =>
string(3) "2.0"
public $outcome =>
string(7) "success"
public $vcs_url =>
string(47) "https://github.com/jmleroux/circleci-php-client"
public $author_name =>
string(8) "jmleroux"
public $node =>
NULL
public $queued_at =>
string(24) "2019-02-24T17:07:26.935Z"
public $canceled =>
bool(false)
public $author_email =>
string(22) "jmleroux.pro@gmail.com"
}