Skip to main content

buildbot plugin for integration with Gitea.

Project description

Buildbot Gitea Plugin

PyPI version GitHub

This plugin for buildbot adds integration support with gitea, featuring push hooks, commit status updates and a change source.

Installation

pip install buildbot_gitea

This installs itself into the plugin discovery of buildbot, so no extra imports are required to get buildbot to find the plugin.

Configuration

The following configuration shows how the different parts of the plugin can be set-up in the buildbot master.cfg:

from buildbot.plugins import *

c = BuildbotMasterConfig = {}
c['www'] = {
    'change_hook_dialects': {
        'gitea': {
            'secret': '<SecretToEnterInGitea>',
            'onlyIncludePushCommit': True
        }
    },
}

c['services'] = [
    # Report status back to gitea, verbose flag enables verbose output in logging for debugging
    reporters.GiteaStatusPush(
        'https://example.com', "SECRET", verbose=True)
]

buildFactory = util.BuildFactory()

factory.addStep(steps.Gitea(
    repourl="ssh://git@example.com/example_user/example_project.git",
    mode='incremental',
    workdir="build",
    branch="master",
    codebase='example_codebase',
    progress=True,
    logEnviron=False,
))

Parameters

Change Hook

The change hook is set as part of the www section in the change_hook_dialects named gitea.

Parameter Description
secret The secret, which needs to be set in gitea
onlyIncludePushCommit A push may have more than one commit associated with it. If this is true, only the newest (latest) commit of all received will be added as a change to buildbot. If this is set to false, all commits will inside the push will be added.

In gitea in your project or organization and add a new webhook of type gitea. Set the parameters as follows:

Parameter Value
Target URL https://example.com/change_hook/gitea/
HTTP Method POST
POST Content Type application/json
Secret The secret from above

Change Source

The change source is part build step to clone a gitea repository. It includes features to build a pull request, if the pull request can be merged without conflicts. This needs to be used in conjunction with a gitea change_hook and have it send pull request updates in order to be able to handle pull requests.

The parameters for this are identical to the default git step from buildbot. It just uses information provided by the gitea change_hook to be able to handle pull requests.

Reporter

The reporter sets the commit status of a commit inside of gitea, so in gitea a small icon will be displayed next to the commit message, indicating the build status.

The GiteaStatusPush is added to the services section of the global master config.

The parameters are as follows:

Parameter Value
URL The URL to the gitea instance.
token Generate an access token in the profile you want the buildbot to impersonate. Make sure the account in gitea has access to the repositories.
startDescription Renderable A short description when buildbot starts building on a change. Defaults to Build started.
endDescription Renderable A short description when buildbot stops building on a change. Defaults to Build done.
context Renderable The context is an identifier for this status, allowing to identify from which builder this came, defaults to Interpolate('buildbot/%(prop:buildername)s')
context_pr Renderable The context message to use, when building on a pull request, allowing to identify from which builder this came, defaults to Interpolate('buildbot/pull_request/%(prop:buildername)s')
warningAsSuccess Treat warnings as build as success to set in the build status of gitea. If false, warnings will be displayed as warnings.
verbose Perform verbose output

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

buildbot-gitea-1.0.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

buildbot_gitea-1.0.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file buildbot-gitea-1.0.0.tar.gz.

File metadata

  • Download URL: buildbot-gitea-1.0.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for buildbot-gitea-1.0.0.tar.gz
Algorithm Hash digest
SHA256 4f6df2824eab646cb57357e9b62a48f020d1ae0ea56c1717a3b6b418e764531a
MD5 96dcaba5feb202ec5ed38578949c1b8e
BLAKE2b-256 1a23a65b785518e51e41566323fd09f917ae7b6a1a983c7e73410d28674058fc

See more details on using hashes here.

Provenance

File details

Details for the file buildbot_gitea-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: buildbot_gitea-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for buildbot_gitea-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbeb3976dd565425efb73edeaad039627fe7582f8c640d083fefcc1f6b461992
MD5 f7a89ca6d9b59a0dbad3df74e80135e7
BLAKE2b-256 c9d98c58713b28baa17884df09e135f80eb208256392848318c8059b087b048b

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page