PyTravisCI - Just another Travis CI (API) Python interface

https://travis-ci.com/funilrys/PyTravisCI.svg?branch=master https://coveralls.io/repos/github/funilrys/PyTravisCI/badge.svg?branch=master https://api.codacy.com/project/badge/Grade/a7952fe4bcd44c05aac6f1a1494fab0b
https://img.shields.io/badge/code%20style-black-000000.png https://img.shields.io/github/license/funilrys/PyTravisCI.png https://img.shields.io/pypi/v/PyTravisCI.png https://img.shields.io/github/issues/funilrys/PyTravisCI.png
https://pepy.tech/badge/PyTravisCI/week https://pepy.tech/badge/PyTravisCI/month https://pepy.tech/badge/PyTravisCI

Just another Travis CI (API) Python interface. It has been meant to fit my needs but in hope that it will be useful to others.

In other words, PyTravisCI gives us a Python interface to interact with the the Travis API v3 or the Travis CI Infrastructure.

It can interact with repositories, jobs, build and almost everything the Travis CI API v3 has to offer.

It can also helps you with the encryption of information and files. Give the interface a variable name and its value and it will gives you what you are supposed to write into your .travis.yml configuration file. Same with the encryption of files and the linting of your configuration files.

Please keep in mind that:

  • this project was meant to be used as “an imported module” than something else.

  • this project has nothing to do with the ruby version of the Travis client and will never have similarities with it

    (except if someone develop a client on top this).

Hava a question ? Fill a new issue!

Have an issue ? Report it!

Have an improvement idea ? Submit a PR!

Every improvement and constructive discussions are welcome!

History

While working on the monitoring and automation tool (private source code) for the Ultimate-Hosts-Blacklist and Dead-Hosts infrastructure; I constantly needed to interact with the Travis CI infrastructure - so implicitly its API.

And unfortunately, I could make The Travis Client work on my (new) machine.

So, as the automation tool itself is written in Python and I could not find any tool which could fit my needs or simplify the way to communicate and/or interpret the response of the Travis CI API V3, I wrote my own.

Therefore, please keep in mind that this project was mainly developed for my needs while developing the first version of the infrastructure behind Ultimate-Hosts-Blacklist and/or Dead-Hosts.

Installation

Using pip

Choose your repository, install and enjoy PyTravisCI!

From PyPi

$ pip3 install PyTravisCI

From GitHub

$ pip3 install git+https://github.com/funilrys/PyTravisCI.git@master#egg=PyTravisCI

Update

Using pip

Choose your repository, install and enjoy PyTravisCI!

From PyPi

$ pip3 install --upgrade PyTravisCI

From GitHub

$ pip3 install --upgrade git+https://github.com/funilrys/PyTravisCI.git@master#egg=PyTravisCI

Usage

Authentication

As the API v3 documentation states:

To authenticate against the Travis CI API, you need an API access token generated by the Travis CI command line client:.

You are required to your API Token though their client or though one of those 2 links:

Initialization

There is 4 way to get started, but 1 gateway.

  1. Without any token.
  2. With a token from https://travis-ci.org (for public GitHub repositories)
  3. With a token from https://travis-ci.com (private GitHub repositories)
  4. With a token from an enterprise domain (e.g https://example.org/)

The gateway of all the mechanism is the TravisCI object. From there, you can start to navigate through the Travis CI API.

Without any token

from PyTravisCI import TravisCI

travis = TravisCI()

With a token from travis-ci.org

from PyTravisCI import TravisCI

travis = TravisCI(access_token="XYZ")

With a token from travis-ci.com

from PyTravisCI import defaults, TravisCI

travis = TravisCI(
    access_token="XYZ", access_point=defaults.access_points.PRIVATE
)

With a token from an enterprise domain

from PyTravisCI import defaults, TravisCI

travis = TravisCI(
    access_token="XYZ", access_point=defaults.access_points.ENTERPRISE.format("example.org")
)

Working with resource type objects

Although resource types have some nice method to help you, PyTravisCI provides you some other useful “helpers” to make it “easier”.

Access to information

Let’s read our information.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get our very own account information.
me = travis.get_user()

# We can read the JSON representation to get an idea of what we get.
print(me.json())

Now let’s say we want to read our id and login. We can do it like we will do with a dict.

my_id = me["id"]
my_login = me["login"]

Or by accessing the attribute

my_id = me.id
my_login = me.login

repr representation

If you print a resource type, you will get the following format.

<ResourceTypeClassName {... attributes ...} />

dict representation

You can at anytime get the dict representation of a resource type object.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the list of repositories we have access to.
# Note: we limit to 3 because we have much more!
my_repositories = travis.get_repositories(params={"limit": 3})

# We can now get the dict representation of our object.
# The .dict() method is actually an alias to .to_dict()!
print(my_repositories.dict())

JSON representation

You can at anytime get the JSON representation of a representation of a resource type object.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the list of repositories we have access to.
# Note: we limit to 3 because we have much more!
my_repositories = travis.get_repositories(params={"limit": 3})

# We can now get the dict representation of our object.
# The .json() method is actually an alias to .to_json()!
print(my_repositories.json())

Loop over collection of resources

Most of time, we may work with single entries or resources. But while working with a collection of resource, you may want to loop over them.

Guess what ? You can do it here too!

Warning

If the current resource type is not a collection a NotImplementedError will be raised.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the list of repositories we have access to.
# Note: we limit to 3 because we have much more!
my_repositories = travis.get_repositories(params={"limit": 3})

for repository in my_repositories:
    print(repository.json())

Comparison of resource types

You can easily compare 2 resource types object by checking if x == y. Where x and y are 2 resource type objects.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get a single repository
my_repo = travis.get_repository("funilrys/PyTravisCI")

# In this example because it is a collection we can directly access
# a member of the collection through its position.
# Or (most of time) you will have an attribute which held them.
#
# As presented here, we are accessing the same object in 2 different way.
wanted_job = my_repo.get_builds().builds[0].jobs[0]
wanted_job2 = my_repo.get_builds()[0].jobs[0]

assert wanted_job == wanted_job2

Handling incomplete or minimal representation of a resource type

Most of the time, Travis CI give us incomplete attributes which represents a resource type but in its minimal representation. With PyTravisCI you can directly get the complete representation directly.

Let’s take our previous example.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get a single repository
my_repo = travis.get_repository("funilrys/PyTravisCI")

# In this example because it is a collection we can directly access
# a member of the collection through its position.
# Or (most of time) you will have an attribute which held them.
#
# As presented here, we are accessing the same object in 2 different way.

# Both variables are minimal representation of the same job.
wanted_job = my_repo.get_builds().builds[0].jobs[0]
wanted_job2 = my_repo.get_builds()[0].jobs[0]

assert wanted_job == wanted_job2

if wanted_job2.is_incomplete():
    print(wanted_job.json())  # incomplete representation
    print("*" * 100)
    print(wanted_job2.get_complete().json())  # complete/standard representation

Next page of a resource type

Most of the times, you will have to play with the pagging system of the Travis CI API. We made it a bit simplier :-).

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the list of repositories we have access to.
# Note: we limit to 3 because we have much more!
my_repositories = travis.get_repositories(params={"limit": 3})

while True:
    for repository in my_repositories:
        print(repository.json())

    if my_repositories.has_next_page():
        my_repositories = my_repositories.next_page()
        continue
    break

Last page of a resource type

You can get the last page of a resource type too.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the list of repositories we have access to.
# Note: we limit to 3 because we have much more!
my_repositories = travis.get_repositories(params={"limit": 3}).last_page()

for repository in my_repositories:
    print(repository.json())

First page of a resource type

Sometime you are in a middle of a loop but for whatever reason, you want to go back to the first page. It’s possible too!

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the list of repositories we have access to.
# Note: we limit to 3 because we have much more!
my_repositories = travis.get_repositories(params={"limit": 3}).last_page()

while True:
    funilrys_repo_found = False

    for repository in my_repositories:
        print(repository.json())
        if "funilrys" in repository.slug:
            funilrys_repo_found = True

    if not funilrys_repo_found:
        my_repositories = my_repositories.next_page()
        continue
    break

# Now we work from the first page :-)
my_repositories = my_repositories.first_page()

Previous page of a resource type

Sometime you want to loop backwards :-).

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the list of repositories we have access to.
# Note: we limit to 3 because we have much more!
my_repositories = travis.get_repositories(params={"limit": 3}).last_page()

while True:
    for repository in my_repositories:
        print(repository.json())

    if my_repositories.has_previous_page():
        my_repositories = my_repositories.previous_page()
        continue
    break

Examples

You are invited to look at the resource types objects in order to get the method and attributes you look for.

In this section we present some example which may be asked a lot in issues. If we are missing some or if you have some questions, let me know per issue!

Warning

This section may be unuseful if you don’t know how to interact with resource type objects.

Information of the current user

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the current user information.
me = travis.get_user()

print(me.json())

Repositories of the current user

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the initial list of Repositories
repositories = travis.repositoris()

while True:
    # We loop until there is no more page to navigate.

    for repository in repositories:
        print(repository.json())

    if repositories.has_next_page():
        repositories = repositories.next_page()
        continue
    break

Organizations of the current user

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the jobs.
organizations = travis.get_organizations()

while True:
    # We loop until there is no more page to navigate.

    for organization in organizations:
        print(organization.json())

    if organizations.has_next_page():
        organizations = organizations.next_page()
        continue
    break

Active builds of the current user

Note

Active builds are build which are builds which have the state pending or started.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the current user information.
me = travis.get_user()

# We can now get the list of active builds.
active_builds = me.get_active()

while True:
    # We loop until there is no more page to navigate.

    for active_build in active_builds:
        print(active_build.json())

    if active_build.has_next_page():
        active_builds = active_builds.next_page()
        continue
    break

Builds of the current user

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the builds.
builds = travis.get_builds()

while True:
    # We loop until there is no more page to navigate.

    for build in builds:
        print(build.json())

    if builds.has_next_page():
        builds = builds.next_page()
        continue
    break

Jobs of the current user

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the jobs.
jobs = travis.get_jobs()

while True:
    # We loop until there is no more page to navigate.

    for job in jobs:
        print(job.json())

    if jobs.has_next_page():
        jobs = jobs.next_page()
        continue
    break

Restart the last build of a repository

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# We get the repository that interests us.
repository = travis.get_repository("funilrys/PyTravisCI")
# We get the build that interrest us (the latest one is always the first one).
build = repository.get_builds()[0]

try:
    build.restart()
except PyTravisCI.exceptions.BuildAlreadyStarted:
    # We really want to start so, we cancel it first.
    build.cancel()
    time.sleep(0.5)
    build.restart()

while build.is_active(sync=True):
    print("Build is running...")

    time.sleep(5)

print("Build finished!")

Lint a configuration file

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

with open(".travis.yml", "r") as file_stream:
    for index, warning in enumerate(travis.lint(file_stream)):
        if index > 0:
            print("*" * 100)

        print(
            f"{index + 1}. WARNING ({warning.warning_type}):\n"
            f"MESSAGE:\n\n{warning.message}\n\n"
        )

Create a new (build) request

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# Let's get the repository to work with.
repository = travis.get_repository("funilrys/PyTravisCI")

# Let's create a new request.
print(
    repository.create_request(
        "Hello, this request was created with PyTravisCI", "master"
    ).json()
)

Encrypt global environment variables for our configuration files

Travis allow us to directly give is a new environment variable. But we may want our environment variable to be encrypted into our configuration file.

Here is an example which show you how to get the encrypted string to put into your configuration file.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# Let's get the repository we want to work with.
repository = travis.get_repository("funilrys/PyTravisCI")

# This is what we are going to encrypt.
# one decrypted by TravisCI it will produces:
#
#   $ export HELLO=[secure]
#   $ export WORLD=[secure]
#
env_vars = {"HELLO": "world", "WORLD": "hello"}

# We now encrypt the shell environment variable:
#   HELLO=world
encrypte_vars = repository.encrypt_env_var(env_vars)

print(
    "Please append the following into the global environment variables "
    "section of your configuration file:"
)

for encrypted_var in encrypte_vars:
    print(f"- secure: \"{encrypted_var['secure']}\"\n\n")

Encrypt file

You may want to encrypt a file for a repository. This is what we will do in this example.

In this example, we have an off git file which is called id_rsa. We want to use it in our build process, so we will encrypt it into id_rsa.enc which will be then pushed to the repository.

PyTravisCI can generate the id_rsa.enc file for you but you will have to manually write the command to decrypt it. But don’t be stressed out, PyTravisCI will give you the command to run.

Here is an example which show you how to get help with the encryption of secret files.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# Let's get the repository we want to work with.
repository = travis.get_repository("funilrys/PyTravisCI")

with open("id_rsa", "rb") as secret_file, open(
    "id_rsa.enc", "wb"
) as encrypted_secret_file:

    information = repository.encrypt_file(secret_file, encrypted_secret_file)

    print(
        "Please append the following into the script section of "
        "your configuration file:\n\n"
        f"{information['command']}"
    )

Encrypt secrets

You may need to encrypt your/a password that you need to write into your configuration file for the deployment. This is what we will do in this example.

from PyTravisCI import TravisCI

# We initiate our "communication" object.
travis = TravisCI(acces_token="XYZ")

# Let's get the repository we want to work with.
repository = travis.get_repository("funilrys/PyTravisCI")

# Let's get our password :-)
password = "HeLlOW0rLd!"

# Let's encrypt our passowrd
encrypted_password = repository.encrypt_secrets([password])[0]

print(f'Here is your encrypted password:\n\n"{encrypted_password}"')

API

Just another Travis CI (API) Python interface.

A module which provides the gateway to the Travis CI API. All interaction starts with this module’s class-es.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.travis_ci.TravisCI(*, access_token: Optional[str] = None, access_point: Optional[str] = 'https://api.travis-ci.org')[source]

The gateway to the interaction with the Travis CI API.

Parameters:
  • access_token (str) – The access token to use to authenticate ourselves.
  • access_point (str) – The access point to communicate with.
get_access_point() → str[source]

Provides the currently set access point.

get_active_from_github_id(github_id: Union[str, int], *, params: Optional[dict] = None) → PyTravisCI.resource_types.active.Active[source]

Provides the list of all active builds.

Official Travis CI API documentation:
Parameters:
  • github_id – Documentation missing. The GitHub user or organization ID to get the active builds for.
  • params – The query parameters to append to the URL.
get_active_from_login(login: str, *, provider: str = 'github', params: Optional[dict] = None) → PyTravisCI.resource_types.active.Active[source]

Provides the list of all active builds for the given login in the given provider.

Official Travis CI API documentation:
Parameters:
  • login – Documentation missing. The Login of to user to fetch the data for.
  • provider – Documentation missing.
  • params – The query parameters to append to the URL.
get_broadcasts(*, params: Optional[dict] = None) → PyTravisCI.resource_types.broadcasts.Broadcasts[source]

Provides the list of broadcasts of the current user.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_build(build_id: Union[int, str], *, params: Optional[dict] = None) → PyTravisCI.resource_types.build.Build[source]

Provides the build information from its ID.

Official Travis CI API documentation:
Parameters:
  • build_id – Value uniquely identifying the build.
  • params – The query parameters to append to the URL.
get_builds(*, params: Optional[dict] = None) → PyTravisCI.resource_types.builds.Builds[source]

Provides the list of builds of the current user.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_cron(cron_id: Union[str, int], *, params: Optional[dict] = None) → PyTravisCI.resource_types.cron.Cron[source]

Provides a cron from its given ID.

Official Travis CI API documentation:
Parameters:
  • cron_id – Value uniquely identifying the cron.
  • params – The query parameters to append to the URL.
get_job(job_id: Union[str, int], *, params: Optional[dict] = None) → PyTravisCI.resource_types.job.Job[source]

Provides a job from its given ID.

Official Travis CI API documentation:
Parameters:
  • job_id – Value uniquely identifying the job.
  • params – The query parameters to append to the URL.
get_jobs(*, params: Optional[dict] = None) → PyTravisCI.resource_types.jobs.Jobs[source]

Provides the list of jobs of the current user.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_organization(organization_id: Union[str, int], *, params: Optional[dict] = None) → PyTravisCI.resource_types.organization.Organization[source]

Provides an organization from its given ID.

Official Travis CI API documentation:
Parameters:
  • organization_id – Value uniquely identifying the organization.
  • params – The query parameters to append to the URL.
get_organizations(*, params: Optional[dict] = None) → PyTravisCI.resource_types.organizations.Organizations[source]

Provides the list of organizations of the current user.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_repositories(*, params: Optional[dict] = None) → PyTravisCI.resource_types.repositories.Repositories[source]

Provides the list of repositories of the current user.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_repositories_from_github_id(github_id: Union[str, int], *, params: Optional[dict] = None) → PyTravisCI.resource_types.repositories.Repositories[source]

Provides the list of repositories of the given GitHub ID.

Official Travis CI API documentation:
Parameters:
  • github_id – Documentation missing. The GitHub user or organization ID to get the repositories for.
  • params – The query parameters to append to the URL.
get_repositories_from_login(login: str, *, provider: str = 'github', params: Optional[dict] = None) → PyTravisCI.resource_types.repositories.Repositories[source]

Provides the list of repositories for the given login in the given provider.

Official Travis CI API documentation:
Parameters:
  • login – Documentation missing. The Login of to user to fetch the data for.
  • provider – Documentation missing.
  • params – The query parameters to append to the URL.
get_repository(repository_id_or_slug: Union[str, int], *, params: Optional[dict] = None) → PyTravisCI.resource_types.repository.Repository[source]

Provides the repository from its given ID or slug.

Official Travis CI API documentation:
Parameters:
  • repository_id_or_slug – Value uniquely identifying the repository.
  • params – The query parameters to append to the URL.
get_repository_from_provider(provider: str, repository_id_or_slug: Union[str, int], *, params: Optional[dict] = None) → PyTravisCI.resource_types.repository.Repository[source]

Provides the repository from its given provider, ID or slug.

Official Travis CI API documentation:
Parameters:
  • provider (str) – Documentation missing.
  • repository_id_or_slug – Value uniquely identifying the repository.
  • params – The query parameters to append to the URL.
get_user(*, params: Optional[dict] = None) → PyTravisCI.resource_types.user.User[source]

Provides the information of the current user.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_user_from_id(user_id: Union[str, int], *, params: Optional[dict] = None) → PyTravisCI.resource_types.user.User[source]

Provides the information of a user from its ID.

Official Travis CI API documentation:
Parameters:
  • user_id – Value uniquely identifying the user.
  • params – The query parameters to append to the URL.
lint(subject: Union[_io.TextIOWrapper, bytes, str]) → PyTravisCI.resource_types.lint.Lint[source]

Lints the given subject.

Official Travis CI API documentation:
Parameters:subject – A string, file stream or bytes.
Raises:TypeError – When then given subject is not correct.
set_access_point(value: str) → None[source]

Sets the access point to communicate with.

set_access_token(value: str) → None[source]

Sets the access token.

Resource Types

Resource types are objects provides by the Travis CI API documentation. For us, as developers they are our direct way to interact with their API.

Please keep in mind, that I built this tool to stay as close as possible from the official documentation located at https://developer.travis-ci.org. Most of the resource types are documented correctly but Travis CI will continue its development cycle, there please take a look at their documentation from time to time.

One of the rare things which was leaved undocumented are the params. Therefore, using this tool without the documentation while using the params argument may be a lost of time.

Warning

I tried to make the attributes match the documentation. But with the time some may be missing. You are invited to report them per issue or pull request.

Not implemented

Here is the list of resource types which are not (yet) implemented into this project. Feel free to submit your PR!

Base

Just another Travis CI (API) Python interface.

A module which provides the base of all our resource type objects.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.base.ComplexJsonEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]

Provides ours complex JSON encoder.

default(o: Any)[source]

Implements our complex conversion to JSON.

class PyTravisCI.resource_types.base.ResourceTypesBase(**kwargs)[source]

The base of all ressource types.

dict(*, remove_tags: bool = False) → str[source]

Alias of to_dict.

first_page() → Optional[ResourceTypesBase][source]

Provides the first page.

Raises:FirstPageNotFound – If the first page was not found.
get_complete() → Optional[ResourceTypesBase][source]

Provides the complete representation if the current representation is the minimal one.

has_first_page() → bool[source]

Checks if there is a first page to follow.

has_last_page() → bool[source]

Checks if there is a last page to follow.

has_next_page() → bool[source]

Checks if there is a next page to follow.

has_previous_page() → bool[source]

Checks if there is a previous page to follow.

is_incomplete() → bool[source]

Checks if the current object is incomplete.

An object is consired as incomplete if its representation is minimal.

json(*, remove_tags: bool = False) → str[source]

Alias of to_json.

last_page() → Optional[ResourceTypesBase][source]

Provides the last page.

Raises:LastPageNotFound – If the last page was not found.
next_page() → Optional[ResourceTypesBase][source]

Provides the next page.

Raises:NextPageNotFound – If the next page was not found.
previous_page() → Optional[ResourceTypesBase][source]

Provides the previous page.

Raises:PreviousPageNotFound – If the previous page was not found.
to_dict(*, remove_tags: bool = False) → PyTravisCI.resource_types.base.ResourceTypesBase.dict[source]

Converts the current object to dict.

Parameters:remove_tags – Remove all @tags and everything related to PyTravisCI.
to_json(*, remove_tags: bool = False) → str[source]

Converts the current object to json.

Parameters:remove_tags – Remove all @tags and everything related to PyTravisCI.

Active

Just another Travis CI (API) Python interface.

A module which provides the “Active” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.active.Active(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides a list of all “active” builds.

Official Travis CI API documentation:
Variables:builds (List[Build]) – The active builds.

Beta feature

Just another Travis CI (API) Python interface.

A module which provides the “Beta Feature” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.beta_feature.BetaFeature(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a beta feature.

Official Travis CI API documentation:
Variables:
  • id (int) – Value uniquely identifying the beta feature.
  • name (str) – The name of the feature.
  • description (str) – Longer description of the feature.
  • enabled (bool) – Indicates if the user has this feature turned on.
  • feedback_url (str) – Url for users to leave Travis CI feedback on this feature.
delete() → Union[bool, PyTravisCI.resource_types.beta_feature.BetaFeature][source]

Deletes the current beta feature.

Parameters:params – The query parameters to append to the URL.
disable() → bool[source]

Disables the current beta feature.

enable() → bool[source]

Enables the current beta feature.

Beta features

Just another Travis CI (API) Python interface.

A module which provides the “Beta Features” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.beta_features.BetaFeatures(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides a list of all beta features

Official Travis CI API documentation:
Variables:beta_features (List[BetaFeature]) – The active builds.

Branch

Just another Travis CI (API) Python interface.

A module which provides the “Branch” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.branch.Branch(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a branch.

Official Travis CI API documentation:
Variables:
  • name (str) – Name of the git branch.
  • repository (Repository) – GitHub user or organization the branch belongs to.
  • default_branch (bool) – Whether or not this is the respository’s default branch.
  • exists_on_github (bool) – Whether or not the branch still exists on GitHub.
  • last_build (Build) – Last build on the branch.
  • recent_builds (List[Build]) – Last 10 builds on the branch (when include=branch.recent_builds is used).
create_cron(interval: str, *, dont_run_if_recent_build_exists: bool = False, params: Optional[dict] = None) → PyTravisCI.resource_types.cron.Cron[source]

Creates a new cron associated to the current branch.

Official Travis CI API documentation:
Parameters:
  • interval – Interval at which the cron will run (can be daily, weekly or monthly).
  • dont_run_if_recent_build_exists – Whether a cron build should run if there has been a build on this branch in the last 24 hours.
  • params – The query parameters to append to the URL.
get_cron(*, params: Optional[dict] = None) → Optional[PyTravisCI.resource_types.cron.Cron][source]

Provides the cron of the current branch.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.

Branches

Just another Travis CI (API) Python interface.

A module which provides the “Branches” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.branches.Branches(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provide the list of branches of a chosen repository.

Official Travis CI API documentation
Variables:branches (List[Branch]) – List of branches.

Broadcast

Just another Travis CI (API) Python interface.

A module which provides the “Broadcast” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.broadcast.Broadcast(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a broadcast.

Official Travis CI API documentation
Variables:
  • id (int) – Value uniquely identifying the broadcast.
  • message (str) – Message to display to the user.
  • created_at (:py:class`~datetime.datetime`) – When the broadcast was created.
  • category (str) – Broadcast category (used for icon and color).
  • active (bool) – Whether or not the brodacast should still be displayed.
  • recipient – Either a user, organization or repository, or null for global.

Broadcasts

Just another Travis CI (API) Python interface.

A module which provides the “Broadcasts” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.broadcasts.Broadcasts(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides a list of broadcasts.

Official Travis CI API documentation
Variables:broadcasts (List[Broadcast]) – List of broadcasts.

Build

Just another Travis CI (API) Python interface.

A module which provides the “Build” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.build.Build(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a build

Official Travis CI API documentation
Variables:
  • id (int) – Value uniquely identifying the build.
  • number (str) – Incremental number for a repository’s builds.
  • state (str) – Current state of the build.
  • duration (int) – Wall clock time in seconds.
  • event_type (str) – Event that triggered the build.
  • previous_state (str) – State of the previous build (useful to see if state changed).
  • pull_request_title (str) – Title of the build’s pull request.
  • pull_request_number (int) – Number of the build’s pull request.
  • started_at (datetime) – When the build started.
  • finished_at (datetime) – When the build finished.
  • private (bool) – Whether or not the build is private.
  • repository (Repository) – GitHub user or organization the build belongs to.
  • branch (Branch) – The branch the build is associated with.
  • tag (str) – The build’s tag.
  • commit (Commit) – The commit the build is associated with.
  • jobs (List[Job]) – List of jobs that are part of the build’s matrix.
  • stages (List[Stage]) – The stages of the build.
  • created_by – The User or Organization that created the build.
  • updated_at (datetime) – The last time the build was updated.
cancel() → PyTravisCI.resource_types.build.Build[source]

Cancels the current build.

Raises:BuildAlreadyStopped – When the current build was already canceled.
get_jobs(*, params: Optional[dict] = None) → PyTravisCI.resource_types.jobs.Jobs[source]

Provides the list of jobs of the current build

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_stages(*, params: Optional[dict] = None) → PyTravisCI.resource_types.stages.Stages[source]

Provides the list of stages of the current build

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
is_active(*, sync: bool = False) → bool[source]

Checks if the build is active.

Parameters:sync – Authorizes the synchronization before checking.
is_canceled(*, sync: bool = False) → bool[source]

Checks if the build canceled.

Parameters:sync – Authorizes the synchronization before checking.
is_created(*, sync: bool = False) → bool[source]

Checks if the build is created.

Parameters:sync – Authorizes the synchronization before checking.
is_errored(*, sync: bool = False) → bool[source]

Checks if the build errored.

Parameters:sync – Authorizes the synchronization before checking.
is_failed(*, sync: bool = False) → bool[source]

Checks if the build failed.

Parameters:sync – Authorizes the synchronization before checking.
is_passed(*, sync: bool = False) → bool[source]

Checks if the build is passed.

Parameters:sync – Authorizes the synchronization before checking.
is_started(*, sync: bool = False) → bool[source]

Checks if the build is started.

Parameters:sync – Authorizes the synchronization before checking.
restart() → PyTravisCI.resource_types.build.Build[source]

Restarts the current build.

Raises:BuildAlreadyStarted – When the current build was already started.
sync() → PyTravisCI.resource_types.build.Build[source]

Fetches the latest information of the current job.

Builds

Just another Travis CI (API) Python interface.

A module which provides the “Builds” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.builds.Builds(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the list of builds.

Official Travis CI API documentation
Variables:builds (List[Build]) – List of builds.

Cache

Just another Travis CI (API) Python interface.

A module which provides the “Cache” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.cache.Cache(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a cache.

Warning

This resource type can’t be compared with any official resource type. In fact, at the time we write this, there no such thing officially in the Travis CI API documentation.

That’s the reason we don’t document much more.

delete() → bool[source]

Deletes the current cache.

Caches

Just another Travis CI (API) Python interface.

A module which provides the “Caches” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.caches.Caches(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provide the list of caches of a chosen repository.

Official Travis CI API documentation
Variables:
  • caches (List[Cache]) – List of caches.
  • repo (Repository) – An internal representation of the repository linked to the current caches.
  • name (str) – The name of the repository linked to the current caches.
delete() → Union[bool, PyTravisCI.resource_types.caches.Caches][source]

Deletes the current cache

Cron

Just another Travis CI (API) Python interface.

A module which provides the “Cron” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.cron.Cron(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a cron.

Official Travis CI API documentation
Variables:
  • id (int) – Value uniquely identifying the build.
  • repository (Repository) – Github repository to which this cron belongs.
  • branch (Branch) – Git branch of repository to which this cron belongs.
  • interval (str) – Interval at which the cron will run (can be “daily”, “weekly” or “monthly”).
  • dont_run_if_recent_build_exists (bool) – Whether a cron build should run if there has been a build on this branch in the last 24 hours.
  • last_run (datetime) – When the cron ran last.
  • next_run (datetime) – When the cron is scheduled to run next.
  • created_at (datetime) – When the cron was created.
  • active (bool) – The cron’s active.
delete() → Union[bool, PyTravisCI.resource_types.cron.Cron][source]

Deletes the current cron.

Crons

Just another Travis CI (API) Python interface.

A module which provides the “Crons” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.crons.Crons(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the list of crons.

Official Travis CI API documentation
Variables:crons (List[Cron]) – List of crons.

Env var

Just another Travis CI (API) Python interface.

A module which provides the “Env Var” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.env_var.EnvVar(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of an environment variable.

Official Travis CI API documentation
Variables:id (str) – The environment variable id.
:ivar str name;
The environment variable name, e.g. FOO.
Variables:
  • value (str) – The environment variable’s value, e.g. bar.
  • public (bool) – Whether this environment variable should be publicly visible or not.
  • branch – The env_var’s branch.
delete() → Union[bool, PyTravisCI.resource_types.env_var.EnvVar][source]

Deletes the current environment variable.

Official Travis CI API documentation:
make_private() → PyTravisCI.resource_types.env_var.EnvVar[source]

Makes this environment variable public.

Official Travis CI API documentation:
make_public() → PyTravisCI.resource_types.env_var.EnvVar[source]

Makes this environment variable public.

Official Travis CI API documentation:
set_branch(branch_name: str) → PyTravisCI.resource_types.env_var.EnvVar[source]

Sets the name of the branch which is covered by the current environment variable.

Official Travis CI API documentation:
Parameters:branch_name – The name of the branch to apply.
set_name(name: str) → PyTravisCI.resource_types.env_var.EnvVar[source]

Sets the new name of the current environment variable.

Official Travis CI API documentation:
Parameters:name – The new name
Raises:TypeError – Whether name is not str.
set_value(value: str) → PyTravisCI.resource_types.env_var.EnvVar[source]

Sets the new value of the current environment variable.

Official Travis CI API documentation:
Parameters:value – The new value.
Raises:TypeError – Whether value is not str.

Env vars

Just another Travis CI (API) Python interface.

A module which provides the “Env Vars” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.env_vars.EnvVars(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the list of environment variables.

Official Travis CI API documentation
Variables:env_vars (List[PyTravisCI.resource_types.env_var.EnvVar]) – List of env_vars.

Installation

Just another Travis CI (API) Python interface.

A module which provides the “Installation” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.installation.Installation(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a GitHub App installation

Official Travis CI API documentation
Variables:
  • id (int) – Value uniquely identifying the user.
  • github_id (int) – The installation’s id on GitHub.
  • owner – GitHub user or organization the installation belongs to.

Job

Just another Travis CI (API) Python interface.

A module which provides the “Job” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.job.Job(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a single build.

Official Travis CI API documentation
Variables:
  • id (int) – Value uniquely identifying the job.
  • allow_failure (bool) – The job’s allow_failure.
  • number (str) – Incremental number for a repository’s builds.
  • state (str) – Current state of the job.
  • started_at (datetime) – When the job started.
  • finished_at (datetime) – When the job finished.
  • build (Build) – The build the job is associated with.
  • queue (str) – Worker queue this job is/was scheduled on.
  • repository (Repository) – GitHub user or organization the job belongs to.
  • commit (Commit) – The commit the job is associated with.
  • owner – GitHub user or organization the job belongs to.
  • stage (List[:class`~PyTravisCI.resource_types.stage.Stage`]) – The stages of the job.
  • created_at (datetime) – When the job was created.
  • updated_at (datetime) – When the job was updated.
cancel() → PyTravisCI.resource_types.job.Job[source]

Cancels the current job.

debug() → PyTravisCI.resource_types.job.Job[source]

Restart the current job in debug mode.

Warning

This method may not work if you are not allowed to restart in debug mode.

get_log(*, params: Optional[dict] = None) → PyTravisCI.resource_types.log.Log[source]

Provides the logs of the current job.

Parameters:params – The query parameters to append to the URL.
is_active(*, sync: bool = False) → bool[source]

Checks if the jpb is active.

Parameters:sync – Authorizes the synchronization before checking.
is_canceled(*, sync: bool = False) → bool[source]

Checks if the job canceled.

Parameters:sync – Authorizes the synchronization before checking.
is_created(*, sync: bool = False) → bool[source]

Checks if the job is created.

Parameters:sync – Authorizes the synchronization before checking.
is_errored(*, sync: bool = False) → bool[source]

Checks if the job errored.

Parameters:sync – Authorizes the synchronization before checking.
is_failed(*, sync: bool = False) → bool[source]

Checks if the job failed.

Parameters:sync – Authorizes the synchronization before checking.
is_passed(*, sync: bool = False) → bool[source]

Checks if the job is passed.

Parameters:sync – Authorizes the synchronization before checking.
is_started(*, sync: bool = False) → bool[source]

Checks if the job is started.

Parameters:sync – Authorizes the synchronization before checking.
restart() → PyTravisCI.resource_types.job.Job[source]

Restarts the current job.

Raises:JobAlreadyStarted – When the current job was already started.
sync() → PyTravisCI.resource_types.job.Job[source]

Fetches the latest information of the current job.

Jobs

Just another Travis CI (API) Python interface.

A module which provides the “Jobs” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.jobs.Jobs(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides a list of builds.

Official Travis CI API documentation
Variables:jobs (List[Job]) – List of jobs.

Key pair (Generated)

Just another Travis CI (API) Python interface.

A module which provides the “Key Pair (Generated)” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.key_pair_generated.KeyPairGenerated(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a RSA key pair (generated).

Official Travis CI API documentation
Variables:
  • description (str) – A text description.
  • public_key (str) – The public key.
  • fingerprint (str) – The fingerprint.
regenerate() → PyTravisCI.resource_types.key_pair_generated.KeyPairGenerated[source]

Generates a new RSA key pair and return its representation.

Official Travis CI API documentation:

Key pair

Just another Travis CI (API) Python interface.

A module which provides the “Key Pair” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.key_pair.KeyPair(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a key pair.

Official Travis CI API documentation
Variables:
  • description (str) – A text description.
  • public_key (str) – The public key.
  • fingerprint (str) – The fingerprint.
delete() → Union[bool, PyTravisCI.resource_types.key_pair.KeyPair][source]

Deletes the current key pair.

Official Travis CI API documentation:
set_description(description: str) → PyTravisCI.resource_types.key_pair.KeyPair[source]

Sets the new description of the current key pair.

Official Travis CI API documentation:
Parameters:value – The new value (private key).
Raises:TypeError – Whether value is not :py:class`str`.
set_value(value: str) → PyTravisCI.resource_types.key_pair.KeyPair[source]

Sets the new value (private key) of the current key pair.

Official Travis CI API documentation:
Parameters:value – The new value (private key).
Raises:TypeError – Whether value is not :py:class`str` nor :py:class`bytes`.

Lint

Just another Travis CI (API) Python interface.

A module which provides the “Lint” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.lint.Lint(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a linting.

Official Travis CI API documentation
Variables:warnings (list) – An array of hashes with keys and warnings.
class PyTravisCI.resource_types.lint.LintWarning(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides a placeholder for the lintings warnings.

Log

Just another Travis CI (API) Python interface.

A module which provides the “Log” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.log.Log(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a job log.

Official Travis CI API documentation
Variables:
  • id (int) – The log’s id.
  • content (str) – The content of the log.
  • log_parts (list) – The log parts that form the log.
delete() → Union[bool, PyTravisCI.resource_types.log.Log][source]

Deletes the current log

Official Travis CI API documentation:

Message

Just another Travis CI (API) Python interface.

A module which provides the “Message” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.message.Message(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of an individual message.

Official Travis CI API documentation
Variables:
  • id (int) – The log’s id.
  • level (str) – The message’s level.
  • key (str) – The message’s key.
  • code (str) – The message’s code.
  • args (dict) – The message’s args.
  • src – The message’s src.
  • line – The message’s line.

Messages

Just another Travis CI (API) Python interface.

A module which provides the “Messages” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.messages.Messages(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides a list of messages.

Official Travis CI API documentation
Variables:messages (List[PyTravisCI.resource_types.Message]) – List of messages.

Organization

Just another Travis CI (API) Python interface.

A module which provides the “Organization” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.organization.Organization(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provide the description of an organization.

Official Travis CI API documentation
Variables:
get_active(*, params: Optional[dict] = None) → PyTravisCI.resource_types.active.Active[source]

Provides the list of active builds of the current user.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.

Organizations

Just another Travis CI (API) Python interface.

A module which provides the “Organizations” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.organizations.Organizations(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides a list of organization.

Official Travis CI API documentation
Variables:organizations (List[PyTravisCI.resource_types.organization.Organization]) – A list of organization.

Repositories

Just another Travis CI (API) Python interface.

A module which provides the “Repositories” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.repositories.Repositories(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides a list of repository.

Official Travis CI API documentation
Variables:repositories (List[PyTravisCI.resource_types.repository.Repository]) – A list of repository.

Repository

Just another Travis CI (API) Python interface.

A module which provides the “Repository” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.repository.Repository(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a repository.

Official Travis CI API documentation
Variables:
  • id (int) – Value uniquely identifying the repository.
  • name (str) – The repository’s name on GitHub.
  • slug (str) – Same as {repository.owner.name}/{repository.name}.
  • description (str) – The repository’s description from GitHub.
  • github_id (int) – The repository’s id on GitHub.
  • vcs_id – The repository’s vcs_id.
  • vcs_type – The repository’s vcs_type.
  • github_language (str) – The main programming language used according to GitHub.
  • active (bool) – Whether or not this repository is currently enabled on Travis CI.
  • private (bool) – Whether or not this repository is private.
  • owner – GitHub user or organization the repository belongs to.
  • owner_name – The repository’s owner_name.
  • vcs_name – The repository’s vcs_name.
  • default_branch (Branch) – The default branch on GitHub.
  • starred (bool) – Whether or not this repository is starred.
  • managed_by_installation (bool) – Whether or not this repository is managed by a GitHub App installation.
  • active_on_org (bool) – Whether or not this repository runs builds on travis-ci.org (may also be null).
  • migration_status – The repository’s migration_status.
  • history_migration_status – The repository’s history_migration_status.
  • shared – The repository’s shared.
  • config_validation – The repository’s config_validation.
  • allow_migration – The repository’s allow_migration.
activate(*, params: Optional[dict] = None) → PyTravisCI.resource_types.repository.Repository[source]

Activates the current repository, allowing its test to be run on Travis Ci.

Parameters:params – The query parameters to append to the URL.
create_env_var(name: str, value: str, *, is_public: bool = False, branch: Optional[str] = None, params: Optional[dict] = None) → PyTravisCI.resource_types.env_var.EnvVar[source]

Creates a new environment variable into the current repository.

Official Travis CI API documentation:
Parameters:
  • name – The environment variable name, e.g. FOO.
  • value – The environment variable’s value, e.g. bar.
  • is_public – Whether this environment variable should be publicly visible or not.
  • branch – The env_var’s branch.
Raises:

TypeError – When the types of name and value are not :py:class`str`.

create_key_pair(description: str, value: Union[str, bytes], *, params: Optional[dict] = None) → PyTravisCI.resource_types.key_pair.KeyPair[source]

Creates a new RSA key pair.

Parameters:
  • description – A text description.
  • value – The private key.
Raises:

TypeError – When the types of name and value are not :py:class`str` nor :py:class`bytes`.

create_request(message: str, branch: str, *, config: Optional[dict] = None, params: Optional[dict] = None) → PyTravisCI.resource_types.request.Request[source]

Creates a Request

Parameters:
  • message – Travis-ci status message attached to the request.
  • branch – Branch requested to be built.
  • config – Build configuration (as parsed from .travis.yml).
Raises:

TypeError – When the types of name and value are not :py:class`str` nor :py:class`bytes`.

deactivate(*, params: Optional[dict] = None) → PyTravisCI.resource_types.repository.Repository[source]

Activates the current repository, preventing any tests from runningIs on Travis CI.

Parameters:params – The query parameters to append to the URL.
encrypt_env_var(env_vars: dict, padding: Optional[str] = 'PKCS1v15') → dict[source]

Process the encryption of the given environment variables.

Parameters:
  • env_vars

    The key-value representing the environment variables to encrypt.

    Warning

    Spaces in keys will be automatically converted to underscore!

  • padding

    The padding to use.

    Supported by PyTravisCI:

    • PKCS1v15
    • OAEP

    Supported by Travis CI:

    • PKCS1v15

    Warning

    DO NOT CHANGE THIS UNLESS INVITED TO.

    As of today, Travis CI use the PKCS1v15 padding. But it may be possible that one day they will change it to OAEP.

    Please report to the following references/discussion:

Returns:

A list representing each encrypted values.

As example, if the following is given:

{
    "HELLO": "WORLD",
    "WORLD": "HELLO"
}

The response will be:

[
    {"secure": "encrypted version of HELLO=WORLD" },
    {"secure": "encrypted version of WORLD=HELLo" }
]

encrypt_file(input_file: Union[io.IOBase, str], output_file: Union[io.IOBase, str], *, branch: Optional[str] = None) → dict[source]

Encrypts the content of the given input_file into output_file.

Side Effects:
  • Generates a new IV key.
  • Generates a new encryption key.
  • Save the IV key into a (new) repository environment variable.
  • Save the encryption key into a (new) repository environment variable.
Parameters:
  • input_file

    The (plain) file to read.

    If a str is given, this method will open and close the file for you.

    If a io.TextIOWrapper is given, this method expects it to be in rb mode.

  • output_file

    The file to write.

    If a str is given, this method will open and close the file for you.

    If a io.TextIOWrapper is given, this method expects it to be in wb mode.

  • branch – The branch to save the IV and key for.
Returns:

A dict which represents the data which are supposed to help the end-user decrypt the encrypted data.

Given an input file hello and an output file hello.enc, this method will provides the following:

{
    "command": "openssl aes-256-cbc -K "
    "$ENCRYPTED_BB6A5397D5B2_KEY -iv $ENCRYPTED_BB6A5397D5B2_IV "
    "-in hello.enc -out hello -d",
    "iv": {
        "ENCRYPTED_BB6A5397D5B2_IV": "hexadecimal representation of the IV."
    },
    "key": {
        "ENCRYPTED_BB6A5397D5B2_KEY": "hexadecimal representation of the key."
    },
}

encrypt_secrets(secrets: List[Union[str, bytes]], padding: Optional[str] = 'PKCS1v15') → str[source]

Encrypts the given secret.

Parameters:
Returns:

A list of encrypted secrets.

generate_key_pair(*, params: Optional[dict] = None) → PyTravisCI.resource_types.key_pair_generated.KeyPairGenerated[source]

Generates a new RSA key pair.

get_branch(branch_name: str, *, params: Optional[dict] = None) → PyTravisCI.resource_types.branch.Branch[source]

Provides the information of a given branch.

Official Travis CI API documentation:
Parameters:
  • branch_name – Name of the git branch.
  • params – The query parameters to append to the URL.
get_branches(*, params: Optional[dict] = None) → PyTravisCI.resource_types.branches.Branches[source]

Provides the list of branches of the current repository.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_builds(*, params: Optional[dict] = None) → PyTravisCI.resource_types.builds.Builds[source]

Provides the list of builds of the current repository.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_caches(*, params: Optional[dict] = None) → PyTravisCI.resource_types.caches.Caches[source]

Provides the list of caches of the current repository.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_crons(*, params: Optional[dict] = None) → PyTravisCI.resource_types.crons.Crons[source]

Provides the list of crons of the current repository.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_env_var(env_var_id: str, *, params: Optional[dict] = None) → PyTravisCI.resource_types.env_var.EnvVar[source]

Provides an environment variable from its ID.

Official Travis CI API documentation:
Parameters:
  • env_var_id – The ID of the environment variable to get.
  • params – The query parameters to append to the URL.
get_env_vars(*, params: Optional[dict] = None) → PyTravisCI.resource_types.env_vars.EnvVars[source]

Provides the list of environment variables of the current repository.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_key_pair(*, params: Optional[dict] = None) → PyTravisCI.resource_types.key_pair.KeyPair[source]

Provides the RSA key pair of the current repository.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_key_pair_generated(*, params: Optional[dict] = None) → PyTravisCI.resource_types.key_pair_generated.KeyPairGenerated[source]

Provides the generated RSA key pair of the current repository.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_request(request_id: Union[str, int], *, params: Optional[dict] = None) → PyTravisCI.resource_types.request.Request[source]

Provides a single request from its given ID.

Official Travis CI API documentation:
Parameters:
  • request_id – The ID of the request to get.
  • params – The query parameters to append to the URL.
get_requests(*, params: Optional[dict] = None) → PyTravisCI.resource_types.requests.Requests[source]

Provides the list of requests of the current repository.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_setting(setting_name: str, *, params: Optional[dict] = None) → PyTravisCI.resource_types.setting.Setting[source]

Provides a single setting from its given name.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_settings(*, params: Optional[dict] = None) → PyTravisCI.resource_types.settings.Settings[source]

Provides the list of settings of the current repository.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
star(*, params: Optional[dict] = None) → PyTravisCI.resource_types.repository.Repository[source]

Stars the current repository.

Parameters:params – The query parameters to append to the URL.
unstar(*, params: Optional[dict] = None) → PyTravisCI.resource_types.repository.Repository[source]

Unstars the current repository.

Parameters:params – The query parameters to append to the URL.

Request

Just another Travis CI (API) Python interface.

A module which provides the “Request” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.request.Request(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a request.

Official Travis CI API documentation
Variables:
  • id (int) – Value uniquely identifying the build.
  • state (str) – Current state of the build.
  • result (str) – The result of the request (eg. rejected or approved).
  • message (str) – Travis-ci status message attached to the request.
  • previous_state (str) – State of the previous build (useful to see if state changed).
  • pull_request_mergeable – The request’s pull_request_mergeable.
  • repository (Repository) – GitHub user or organization the build belongs to.
  • branch_name (str) – Name of the branch requested to be built.
  • commit (Commit) – The commit the request is associated with.
  • builds (List[Build]) – The request’s builds.
  • owner – GitHub user or organization the request belongs to.
  • created_at (datetime) – When the build started.
  • event_type (str) – Origin of request (push, pull request, api).
  • base_commit (str) – The base commit the request is associated with.
  • head_commit (str) – The head commit the request is associated with.
  • messages – The request’s messages.
  • config – Build configuration (as parsed from .travis.yml).
  • raw_configs – The request’s raw_configs.

Requests

Just another Travis CI (API) Python interface.

A module which provides the “Requests” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.requests.Requests(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the list of requests.

Official Travis CI API documentation
Variables:requests – List of requests.

Setting

Just another Travis CI (API) Python interface.

A module which provides the “Setting” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.setting.Setting(**kwargs)[source]

Provides an individual repository setting.

Official Travis CI API documentation
Variables:
  • name (str) – The settings’s name.
  • value (str) – The settings’s value.
set_value(value: Union[bool, int]) → PyTravisCI.resource_types.setting.Setting[source]

Set the new value of the current setting.

Parameters:value – The new value.

Settings

Just another Travis CI (API) Python interface.

A module which provides the “Settings” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.settings.Settings(**kwargs)[source]

Provides a list of repository settings.

Official Travis CI API documentation
Variables:settings (List[PyTravisCI.resource_types.setting.Setting]) – A list of setting.

Stage

Just another Travis CI (API) Python interface.

A module which provides the “Stage” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.stage.Stage(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the description of a stage

Official Travis CI API documentation
Variables:
  • id (int) – Value uniquely identifying the stage.
  • number (int) – Incremental number for a stage.
  • name (str) – The name of the stage.
  • state (str) – Current state of the stage.
  • started_at (datetime) – When the stage started.
  • finished_at (datetime) – When the stage finished.
  • jobs (List[PyTravisCI.resource_types.job.Job]) – The jobs of a stage.

Stages

Just another Travis CI (API) Python interface.

A module which provides the “Stages” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.stages.Stages(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides a list of stage.

Official Travis CI API documentation
Variables:stages (List[PyTravisCI.resource_types.stage.Stage]) – A list of stage.

User

Just another Travis CI (API) Python interface.

A module which provides the “User” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.resource_types.user.User(**kwargs)[source]

Bases: PyTravisCI.resource_types.base.ResourceTypesBase

Provides the information of a user.

Official Travis CI API documentation:
Variables:
  • id (int) – Value uniquely identifying the user.
  • login (str) – Login set on Github.
  • name (str) – Name set on GitHub.
  • github_id (int) – Id set on GitHub.
  • vcs_id – The user’s vcs_id.
  • vcs_type – The user’s vcs_type.
  • avatar_url (str) – Avatar URL set on GitHub.
  • education (bool) – Whether or not the user has an education account.
  • allow_migration – The user’s allow_migration.
  • email (str) – The user’s email.
  • is_syncing (bool) – Whether or not the user is currently being synced with Github.
  • synced_at (datetime) – The last time the user was synced with GitHub.
  • recently_signed_up – The user’s recently_signed_up.
  • secure_user_hash – The user’s secure_user_hash.
  • repositories (List[Repository]) – Repositories belonging to this user.
  • installation (Installation) – Installation belonging to the user.
  • emails – The user’s emails.
get_active(*, params: Optional[dict] = None) → PyTravisCI.resource_types.active.Active[source]

Provides the list of active builds of the current user.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
get_beta_features(*, params: Optional[dict] = None) → PyTravisCI.resource_types.beta_features.BetaFeatures[source]

Provides the list of beta features of the current user.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.
synchronize(*, params: Optional[dict] = None) → bool[source]

Triggers a synchronization between Travis CI and the user Github account.

Official Travis CI API documentation:
Parameters:params – The query parameters to append to the URL.

Encryption

The encryption module is there to provide a low-level interface for the encryption of data and files for or within the Travis CI infrastructure.

Data

Just another Travis CI (API) Python interface.

A module which provides the interface for the encryption of data for or within the Travis CI infrastructure.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.encryption.data.DataEncryption(*, private_key: Union[str, bytes, None] = None, public_key: Union[str, bytes, None] = None)[source]

Bases: object

Provides the interface for the encryption of information for or within the Travis CI infrastructure.

Parameters:
  • private_key – The private key to use for encryption.
  • public_key – The public key to use for encryption.
decrypt_ensure_key_exists()[source]

Ensures that the key needed for encryption exists.

Raises:ValueError – When the private key is not set/given.
encrypt_ensure_key_exists()[source]

Ensures that the key needed for encryption exists.

Raises:ValueError – When the public key is not set/given.
get_private_key() → Optional[bytes][source]

Provided the currently loaded private key.

get_public_key() → Optional[bytes][source]

Provides the currently loaded public key.

set_private_key(value: Union[str, bytes], password: Union[str, bytes, None] = None) → None[source]

Sets the private key to use.

Parameters:
  • value – The private key to set.
  • password – The password associated wiht the private key (if needed).
set_public_key(value: Union[str, bytes]) → None[source]

Sets the public key to use.

Parameters:value – The public key to set.

File

Just another Travis CI (API) Python interface.

A module which provides the interface for the encryption of data for or within the Travis CI infrastructure.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.encryption.file.FileEncryption(*, key: Union[str, bytes, None] = None, iv: Union[str, bytes, None] = None)[source]

Bases: object

Provides the interface for the encryption of files for or within the Travis CI infrastructure.

Parameters:
  • key – The key to use to encrypt the file.
  • iv – The IV to use to encrypt the file.
decrypt_ensure_keys_exists()[source]

Ensures that the keys exists before any decryption.

encrypt_ensure_keys_exists()[source]

Ensures that the keys exists before any encryption.

generate_iv(*, save: bool = True) → bytes[source]

Generate a new IV key.

Parameters:save – Dis-authorize the saving into the global iv attribute.
generate_key(*, save: bool = True) → bytes[source]

Generates a new key.

Parameters:save – Dis-authorize the saving into the global key attribute.
get_iv() → Optional[bytes][source]

Provides the hexadecimal representation of the currently set iv.

get_key() → Optional[bytes][source]

Provides the hexadecimal representation of the currently set key.

set_iv(value: Union[str, bytes]) → None[source]

Sets the IV to use.

Raises:ValueError – When the size of the given key is not correct.
set_key(value: Union[str, bytes]) → None[source]

Sets the Key to use.

Raises:ValueError – When the size of the given key is not correct.

Exceptions

Just another Travis CI (API) Python interface.

A module which provides all our exceptions.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
exception PyTravisCI.exceptions.BuildAlreadyStarted[source]

Informs that the current build was already started.

exception PyTravisCI.exceptions.BuildAlreadyStopped[source]

Informs that the current build was already stopped.

exception PyTravisCI.exceptions.FirstPageNotFound[source]

Informs that the first page could not be found.

exception PyTravisCI.exceptions.JobAlreadyStarted[source]

Informs that the current job was already started.

exception PyTravisCI.exceptions.JobAlreadyStopped[source]

Informs that the current job was already stopped.

exception PyTravisCI.exceptions.LastPageNotFound[source]

Informs that the last page could not be found.

exception PyTravisCI.exceptions.NextPageNotFound[source]

Informs that the next page could not be found.

exception PyTravisCI.exceptions.NotIncomplete[source]

Informs that the current object is not incomplete.

exception PyTravisCI.exceptions.PageNotFound[source]

Raises an exception which informs the end-user that we could not find a page.

exception PyTravisCI.exceptions.PreviousPageNotFound[source]

Informs that the previous page could not be found.

exception PyTravisCI.exceptions.PyTravisCIException[source]

The base of all our exceptions.

exception PyTravisCI.exceptions.TravisCIError(url: str, error_message: str, error_type: str, response: Union[dict, str] = None)[source]

Raises an exception with the error we got from the API.

get_error_message()[source]

Provides the error message from upstream.

get_error_type()[source]

Provides the error type from upstream.

get_response()[source]

Provides the complete response from Travis CI.

get_url()[source]

Provides the url from upstream.

message() → str[source]

Provides the message to raise.

Standardization

This module provides everything we consider as Standardization before giving back any resource type.

Just another Travis CI (API) Python interface.

A module which provides the standardizer class. It’s basically a way to unify everything before parsing them to their end-location or objects.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.standardization.Standardization(data: Optional[Any] = None)[source]

The standardizer. It format the response from the Travis CI API into something useful (for later usage and distribution).

get_data() → Any[source]

Provides the currently set data.

get_standardized() → dict[source]

Provides the standardized version.

run_standardization()[source]

A decorator which actually do the standardization.

set_data(value: Any) → None[source]

Overwrites the data to work with.

standardize_at_tagged(data: dict) → dict[source]

Standardize the @tags to something universal and reusable.

standardize_datetime(data: dict) → dict[source]

Provides a way to unify/convert the dates to something more Python friendly.

Requester

Just another Travis CI (API) Python interface.

A module which provides the requester object. It’s the object which communicates with the API endpoints.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.requester.Requester[source]

Handles all our communication / requests to the Travis CI API.

This only provides lower level implementation. Meaning that you give it raw data and it provides you raw data in exchange. While working with this class, you don’t have access to enhanced feature provided by something like Resource Types objects.

Warning

You are not expected or invited to use this class directly if you don’t know what it may imply!

bind_endpoint_to_base_url(endpoint: str) → str[source]

Binds the endpoint with the base url.

delete(endpoint: str, **kwargs) → dict[source]

Sends a DELETE requests and returns the response.

get(endpoint: str, **kwargs) → dict[source]

Sends a GET requests and returns the response.

classmethod get_error_message(api_response: dict, *, already_checked: bool = False) → Optional[str][source]

Provides the error message.

classmethod get_error_type(api_response: dict, *, already_checked: bool = False) → Optional[str][source]

Provides the error type.

head(endpoint: str, **kwargs) → dict[source]

Sends a HEAD requests and returns the response.

static is_error(api_response: dict) → bool[source]

Checks if the API response is or contain an error as defined by the Travis CI API documentation.

options(endpoint: str, **kwargs) → dict[source]

Sends a OPTIONS requests and returns the response.

patch(endpoint: str, **kwargs) → dict[source]

Sends a PATCH requests and returns the response.

post(endpoint: str, **kwargs) → dict[source]

Sends a POST requests and returns the response.

put(endpoint: str, **kwargs) → dict[source]

Sends a PUT requests and returns the response.

classmethod raise_if_error(req: requests.models.Request, api_response: dict) → None[source]

Raises a TravisCIError if the given API response contain an error.

request_factory()[source]

A decorator which acts as an universal request factory.

set_authorization(value: str) → None[source]

Sets the authorization header.

Raises:TypeError – If value is not a string.
set_base_url(value: str) → None[source]

Sets the base URL we have to communicate with.

Raises:TypeError – If value is not a string.

Communicator

Communicators are sets of classes composed of methods which (actually) process the communication between us and the Travis CI API.

They are not well documented on purpose because they are not meant for the “grand public”. Unless you have a good reason, you should never (directly) play with them.

Warning

Do not play with those classes unless you know what you are doing!

Base

Just another Travis CI (API) Python interface.

A module which provides the base of all communicator.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.base.CommunicatorBase(req: PyTravisCI.requester.Requester)[source]

Provides the base of all communicator.

complete_response()[source]

A decorator which complete the responses before giving it back to the end-user.

delete_response(endpoint: str) → Union[dict, bool][source]

DELETE and provides the response from the API.

classmethod encode_slug(slug: str) → str[source]

Encodes the (repository) slug.

endpoints = {}

Should be a dict in format:

{
    "from_id": "/build/%(build_id)s"
}

from_id is the name of the method and build/%(build_id)s is the endpoint we need to communicate with. %(build_id)s is what the method will expect as variable name. In fact, if the end-user give us build_id=4 as argument, the system will replace %(build_id)s with 4.

filter_before_action()[source]

A decorator which filter/format the given arguments before giving it back to the communicator method.

This is useful in order to avoid having the same thing over and over everywhere.

get_and_construct_endpoint(kwargs: dict) → str[source]

Provides the endpoint to call from the given method name.

static get_method_name() → str[source]

Provides the method name.

Warning

You are not invited to use this method outside of PyTravisCI’s communicators.

get_response(endpoint: str) → dict[source]

Provides the response from the API.

get_standardized(data: dict) → Any[source]

Provides the standardized version of the given dataset.

static is_digit(data: Union[str, int]) → bool[source]

Checks if the given data is an integer or a digit string.

patch_response(endpoint: str, data: dict = None) → dict[source]

PATCH and provides the response from the API.

post_response(endpoint: str, data: dict = None) → dict[source]

POST and provides the response from the API.

classmethod propagate_internal_vars(variables: dict, start_obj: Any) → object[source]

Propagate the given var to all objects.

Warning

You are not invited to use this method outside of PyTravis’s communicators.

Active

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Active” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.active.Active(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Active resource type.

endpoints = {'from_github_id': '/owner/github_id/%(github_id)s/active', 'from_login': '/owner/%(provider)s/%(login)s/active'}
from_github_id(**kwargs) → resource_types.Active[source]
from_login(**kwargs) → resource_types.Active[source]

Beta feature

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Beta Feature” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.beta_feature.BetaFeature(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Beta feature resource type.

delete(**kwargs) → Union[bool, resource_types.BetaFeature][source]
endpoints = {'delete': '/user/%(user_id)s/beta_feature/%(beta_feature_id)s', 'update': '/user/%(user_id)s/beta_feature/%(beta_feature_id)s'}
update(**kwargs) → resource_types.BetaFeature[source]

Beta features

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Beta Features” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.beta_features.BetaFeatures(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Beta features resource type.

endpoints = {'from_user_id': 'user/%(user_id)s/beta_features'}
from_user_id(**kwargs) → resource_types.BetaFeatures[source]

Branch

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Branch” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.branch.Branch(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Active resource type.

endpoints = {'from_id_or_slug': '/repo/%(repository_id_or_slug)s/branch/%(branch_name)s', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/branch/%(branch_name)s'}
from_id_or_slug(**kwargs) → resource_types.Branch[source]
from_provider(**kwargs) → resource_types.Branch[source]

Branches

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Branches” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.branches.Branches(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Branches resource type.

endpoints = {'from_id_or_slug': '/repo/%(repository_id_or_slug)s/branches', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/branches'}
from_id_or_slug(**kwargs) → resource_types.Branches[source]
from_provider(**kwargs) → resource_types.Branches[source]

Broadcasts

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Broadcasts” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.broadcasts.Broadcasts(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Broadcasts resource type.

endpoints = {'fetch': '/broadcasts'}
fetch(**kwargs) → resource_types.Broadcasts[source]

Build

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Build” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.build.Build(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Build resource type.

cancel(**kwargs) → resource_types.Build[source]
endpoints = {'cancel': '/build/%(build_id)s/cancel', 'from_id': '/build/%(build_id)s', 'restart': '/build/%(build_id)s/restart'}
from_id(**kwargs) → resource_types.Build[source]
restart(**kwargs) → resource_types.Build[source]

Builds

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Builds” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.builds.Builds(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Builds resource type.

endpoints = {'fetch': '/builds', 'from_id_or_slug': '/repo/%(repository_id_or_slug)s/builds', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/builds'}
fetch(**kwargs) → resource_types.Builds[source]
from_id_or_slug(**kwargs) → resource_types.Builds[source]
from_provider(**kwargs) → resource_types.Builds[source]

Cache

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Cache” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.cache.Cache(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Cache resource type.

delete(**kwargs) → Union[bool, resource_types.Caches][source]
endpoints = {'delete': '/repo/%(repository_id_or_slug)s/caches'}

Caches

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Caches” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.caches.Caches(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Caches resource type.

delete(**kwargs) → Union[bool, resource_types.Caches][source]
endpoints = {'delete': '/repo/%(repository_id_or_slug)s/caches', 'from_id_or_slug': '/repo/%(repository_id_or_slug)s/caches', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/caches'}
from_id_or_slug(**kwargs) → resource_types.Caches[source]
from_provider(**kwargs) → resource_types.Caches[source]

Cron

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Cron” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.cron.Cron(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Cron resource type.

create(**kwargs) → resource_types.Cron[source]
delete(**kwargs) → Union[bool, resource_types.Cron][source]
endpoints = {'create': '/repo/%(repository_id_or_slug)s/branch/%(branch_name)s/cron', 'delete': '/cron/%(cron_id)s', 'from_id': '/cron/%(cron_id)s', 'from_id_or_slug_and_branch': '/repo/%(repository_id_or_slug)s/branch/%(branch_name)s/cron', 'from_provider_and_branch': '/repo/%(provider)s/%(repository_id_or_slug)s/branch/%(branch_name)s/cron'}
from_id(**kwargs) → resource_types.Cron[source]
from_id_or_slug_and_branch(**kwargs) → resource_types.Cron[source]
from_provider_and_branch(**kwargs) → resource_types.Cron[source]

Crons

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Crons” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.crons.Crons(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Crons resource type.

endpoints = {'from_id_or_slug': '/repo/%(repository_id_or_slug)s/crons', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/crons'}
from_id_or_slug(**kwargs) → resource_types.Crons[source]
from_provider(**kwargs) → resource_types.Crons[source]

Env Var

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Env Var” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.env_var.EnvVar(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the EnvVar resource type.

delete(**kwargs) → Union[bool, resource_types.EnvVar][source]
endpoints = {'delete': '/repo/%(repository_id_or_slug)s/env_var/%(env_var_id)s', 'from_id_or_slug': '/repo/%(repository_id_or_slug)s/env_var/%(env_var_id)s', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/env_var/%(env_var_id)s', 'update': '/repo/%(repository_id_or_slug)s/env_var/%(env_var_id)s'}
from_id_or_slug(**kwargs) → resource_types.EnvVar[source]
from_provider(**kwargs) → resource_types.EnvVar[source]
update(**kwargs) → resource_types.EnvVar[source]

Env Vars

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Env Vars” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.env_vars.EnvVars(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the EnvVars resource type.

create(**kwargs) → resource_types.EnvVar[source]
endpoints = {'create': '/repo/%(repository_id_or_slug)s/env_vars', 'from_id_or_slug': '/repo/%(repository_id_or_slug)s/env_vars', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/env_vars'}
from_id_or_slug(**kwargs) → resource_types.EnvVars[source]
from_provider(**kwargs) → resource_types.EnvVars[source]

Job

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Job” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.job.Job(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Job resource type.

cancel(**kwargs) → resource_types.Job[source]
debug(**kwargs) → resource_types.Job[source]
endpoints = {'cancel': '/job/%(job_id)s/cancel', 'debug': '/job/%(job_id)s/debug', 'from_id': '/job/%(job_id)s', 'restart': '/job/%(job_id)s/restart'}
from_id(**kwargs) → resource_types.Job[source]
restart(**kwargs) → resource_types.Job[source]

Jobs

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Jobs” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.jobs.Jobs(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Jobs resource type.

endpoints = {'fetch': '/jobs', 'from_build_id': '/build/%(build_id)s/jobs'}
fetch(**kwargs) → resource_types.Jobs[source]
from_build_id(**kwargs) → resource_types.Jobs[source]

Key Pair (Generated)

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Key Pair (Generated)” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.key_pair_generated.KeyPairGenerated(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Key pair generated resource type.

create(**kwargs) → resource_types.KeyPairGenerated[source]
endpoints = {'create': '/repo/%(repository_id_or_slug)s/key_pair/generated', 'from_id_or_slug': '/repo/%(repository_id_or_slug)s/key_pair/generated', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/key_pair/generated'}
from_id_or_slug(**kwargs) → resource_types.KeyPairGenerated[source]
from_provider(**kwargs) → resource_types.KeyPairGenerated[source]

Key Pair

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Key Pair” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.key_pair.KeyPair(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Key pair resource type.

create(**kwargs) → resource_types.KeyPair[source]
delete(**kwargs) → Union[Any, resource_types.KeyPair][source]
endpoints = {'create': '/repo/%(repository_id_or_slug)s/key_pair', 'delete': '/repo/%(repository_id_or_slug)s/key_pair', 'from_id_or_slug': '/repo/%(repository_id_or_slug)s/key_pair', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/key_pair', 'update': '/repo/%(repository_id_or_slug)s/key_pair'}
from_id_or_slug(**kwargs) → resource_types.KeyPair[source]
from_provider(**kwargs) → resource_types.KeyPair[source]
update(**kwargs) → resource_types.KeyPair[source]

Lint

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Lint” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.lint.Lint(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Lint resource type.

endpoints = {'fetch': '/lint'}
fetch(**kwargs) → resource_types.Lint[source]

Log

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Log” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.log.Log(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Log resource type.

delete(**kwargs) → Union[bool, resource_types.Log][source]
endpoints = {'delete': '/job/%(job_id)s/log', 'from_id': '/job/%(job_id)s/log'}
from_id(**kwargs) → resource_types.Log[source]

Log

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Log” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.log.Log(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Log resource type.

delete(**kwargs) → Union[bool, resource_types.Log][source]
endpoints = {'delete': '/job/%(job_id)s/log', 'from_id': '/job/%(job_id)s/log'}
from_id(**kwargs) → resource_types.Log[source]

Messages

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Messages” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.messages.Messages(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Messages resource type.

endpoints = {'from_id_or_slug': '/repo/%(repository_id_or_slug)s/request/%(request_id)s/messages', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/request/%(request_id)s/messages'}
from_id_or_slug(**kwargs) → resource_types.Messages[source]
from_provider(**kwargs) → resource_types.Messages[source]

Organization

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Organization” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.organization.Organization(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Organization resource type.

endpoints = {'from_id': '/org/%(organization_id)s'}
from_id(**kwargs) → resource_types.Organization[source]

Organizations

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Organizations” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.organizations.Organizations(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Organizations resource type.

endpoints = {'fetch': '/orgs'}
fetch(**kwargs) → resource_types.Organizations[source]

Repositories

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Repositories” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.repositories.Repositories(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Repositories resource type.

endpoints = {'fetch': '/repos', 'from_github_id': '/owner/github_id/%(github_id)s/repos', 'from_login': '/owner/%(provider)s/%(login)s/repos'}
fetch(**kwargs) → resource_types.Repositories[source]
from_github_id(**kwargs) → resource_types.Repositories[source]
from_login(**kwargs) → resource_types.Repositories[source]

Repository

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Repository” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.repository.Repository(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Active resource type.

activate(**kwargs) → resource_types.Repository[source]
deactivate(**kwargs) → resource_types.Repository[source]
endpoints = {'activate': '/repo/%(repository_id_or_slug)s/activate', 'deactivate': '/repo/%(repository_id_or_slug)s/deactivate', 'from_id_or_slug': '/repo/%(repository_id_or_slug)s', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s', 'star': '/repo/%(repository_id_or_slug)s/star', 'unstar': '/repo/%(repository_id_or_slug)s/unstar'}
from_id_or_slug(**kwargs) → resource_types.Repository[source]
from_provider(**kwargs) → resource_types.Repository[source]
star(**kwargs) → resource_types.Repository[source]
unstar(**kwargs) → resource_types.Repository[source]

Request

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Request” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.request.Request(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Request resource type.

endpoints = {'from_id_or_slug': '/repo/%(repository_id_or_slug)s/request/%(request_id)s', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/request/%(request_id)s'}
from_id_or_slug(**kwargs) → resource_types.Request[source]
from_provider(**kwargs) → resource_types.Request[source]

Requests

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Requests” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.requests.Requests(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Requests resource type.

create(**kwargs) → resource_types.Request[source]
endpoints = {'create': '/repo/%(repository_id_or_slug)s/requests', 'from_id_or_slug': '/repo/%(repository_id_or_slug)s/requests', 'from_provider': '/repo/%(provider)s/%(repository_id_or_slug)s/requests'}
from_id_or_slug(**kwargs) → resource_types.Requests[source]
from_provider(**kwargs) → resource_types.Requests[source]

Stages

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “Stages” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.stages.Stages(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the Stages resource type.

endpoints = {'from_build_id': '/build/%(build_id)s/stages'}
from_build_id(**kwargs) → resource_types.Stages[source]

User

Just another Travis CI (API) Python interface.

A module which provides the communicator of the “User” resource type.

Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Project link:
https://github.com/funilrys/PyTravisCI
Project documentation:
https://pytravisci.readthedocs.io/en/latest/

License

MIT License

Copyright (c) 2019, 2020 Nissar Chababy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
class PyTravisCI.communicator.user.User(req: PyTravisCI.requester.Requester)[source]

Bases: PyTravisCI.communicator.base.CommunicatorBase

The communicator of the User resource type.

endpoints = {'fetch': '/user', 'from_user_id': '/user/%(user_id)s', 'synchronize': '/user/%(user_id)s/sync'}
fetch(**kwargs) → resource_types.User[source]
from_user_id(**kwargs) → resource_types.User[source]
synchronize(**kwargs) → resource_types.User[source]

Indices and tables