~ubuntu-branches/ubuntu/trusty/buildbot/trusty-proposed

« back to all changes in this revision

Viewing changes to docs/manual/cfg-statustargets.rst

  • Committer: Package Import Robot
  • Author(s): Andriy Senkovych
  • Date: 2013-10-10 13:22:47 UTC
  • mfrom: (1.2.10)
  • Revision ID: package-import@ubuntu.com-20131010132247-m622rpa3yemt62te
Tags: 0.8.8-1
* New upstream release
* Remove text-client.patch (applied upstream)
* Add bash-completion. Thanks to Elmir Jagudin
* debian/control: add Vcs-* fields

Show diffs side-by-side

added added

removed removed

Lines of Context:
269
269
 
270
270
    The console view is still in development. At this moment by
271
271
    default the view sorts revisions lexically, which can lead to odd
272
 
    behavior with non-integer revisions (e.g., git), or with integer
 
272
    behavior with non-integer revisions (e.g., Git), or with integer
273
273
    revisions of different length (e.g., 999 and 1000). It also has
274
274
    some issues with displaying multiple branches at the same time. If
275
275
    you do have multiple branches, you should use the ``branch=``
443
443
``gracefulShutdown``
444
444
    gracefully shut down a slave when it is finished with its current build
445
445
 
 
446
``pauseSlave``
 
447
    temporarily stop running new builds on a slave
 
448
 
446
449
``stopBuild``
447
450
    stop a running build
448
451
 
702
705
--help` for more information.  The ``base`` dialect must be enabled for this to
703
706
work.
704
707
 
705
 
github hook
 
708
GitHub hook
706
709
###########
707
710
 
708
711
The GitHub hook is simple and takes no options. ::
723
726
 
724
727
.. warning::
725
728
 
726
 
    The incoming HTTP requests for this hook are not authenticated in
727
 
    any way.  Anyone who can access the web status can "fake" a request from
728
 
    GitHub, potentially causing the buildmaster to run arbitrary code.  See
729
 
    :bb:bug:`2186` for work to fix this problem.
 
729
    The incoming HTTP requests for this hook are not authenticated by default.
 
730
    Anyone who can access the web status can "fake" a request from
 
731
    GitHub, potentially causing the buildmaster to run arbitrary code.
 
732
 
 
733
To protect URL against unauthorized access you should use ``change_hook_auth`` option ::
 
734
 
 
735
    c['status'].append(html.WebStatus(..
 
736
                                      change_hook_auth=["file:changehook.passwd"]))
 
737
 
 
738
And create a file ``changehook.passwd`` ::
 
739
 
 
740
    user:password
 
741
 
 
742
Then, create a GitHub service hook (see https://help.github.com/articles/post-receive-hooks) with a WebHook URL like ``http://user:password@builds.mycompany.com/bbot/change_hook/github``.
 
743
 
 
744
See the `documentation <https://twistedmatrix.com/documents/current/core/howto/cred.html>`_ for twisted cred for more option to pass to ``change_hook_auth``.
 
745
 
 
746
Note that not using ``change_hook_auth`` can expose you to security risks.
730
747
 
731
748
Google Code hook
732
749
################
1129
1146
    (dictionary) A dictionary containing key/value pairs of extra headers to add
1130
1147
    to sent e-mails. Both the keys and the values may be a `Interpolate` instance.
1131
1148
 
 
1149
``previousBuildGetter``
 
1150
    An optional function to calculate the previous build to the one at hand. A
 
1151
    :func:`previousBuildGetter` takes a :class:`BuildStatus` and returns a
 
1152
    :class:`BuildStatus`. This function is useful when builders don't process
 
1153
    their requests in order of arrival (chronologically) and therefore the order
 
1154
    of completion of builds does not reflect the order in which changes (and
 
1155
    their respective requests) arrived into the system. In such scenarios,
 
1156
    status transitions in the chronological sequence of builds within a builder
 
1157
    might not reflect the actual status transition in the topological sequence
 
1158
    of changes in the tree. What's more, the latest build (the build at hand)
 
1159
    might not always be for the most recent request so it might not make sense
 
1160
    to send a "change" or "problem" email about it. Returning None from this
 
1161
    function will prevent such emails from going out.
 
1162
 
1132
1163
As a help to those writing :func:`messageFormatter` functions, the following
1133
1164
table describes how to get some useful pieces of information from the various
1134
1165
status objects:
1136
1167
Name of the builder that generated this event
1137
1168
    ``name``
1138
1169
 
1139
 
Name of the project
1140
 
    :meth:`master_status.getProjectName()`
 
1170
Title of the buildmaster
 
1171
    :meth:`master_status.getTitle()`
1141
1172
 
1142
1173
MailNotifier mode
1143
1174
    ``mode`` (a combination of ``change``, ``failing``, ``passing``, ``problem``, ``warnings``,
1318
1349
:samp:`help {COMMAND}`
1319
1350
    Describe a command. Use :command:`help commands` to get a list of known
1320
1351
    commands.
 
1352
 
 
1353
:samp:`shutdown {ARG}`
 
1354
    Control the shutdown process of the buildbot master.
 
1355
    Available arguments are:
 
1356
 
 
1357
    ``check``
 
1358
        Check if the buildbot master is running or shutting down
 
1359
 
 
1360
    ``start``
 
1361
        Start clean shutdown
 
1362
 
 
1363
    ``stop``
 
1364
        Stop clean shutdown
 
1365
 
 
1366
    ``now``
 
1367
        Shutdown immediately without waiting for the builders to finish
1321
1368
    
1322
1369
``source``
1323
1370
    Announce the URL of the Buildbot's home page.
1462
1509
        # message, verified, reviewed
1463
1510
        return message, (result == SUCCESS or -1), 0
1464
1511
 
 
1512
    def gerritStartCB(builderName, build, arg):
 
1513
        message = "Buildbot started compiling your patchset\n"
 
1514
        message += "on configuration: %s\n" % builderName
 
1515
 
 
1516
        if arg:
 
1517
            message += "\nFor more details visit:\n"
 
1518
            message += status.getURLForThing(build) + "\n"
 
1519
 
 
1520
        return message
 
1521
 
1465
1522
    c['buildbotURL'] = 'http://buildbot.example.com/'
1466
1523
    c['status'].append(GerritStatusPush('127.0.0.1', 'buildbot',
1467
1524
                                        reviewCB=gerritReviewCB,
1468
 
                                        reviewArg=c['buildbotURL']))
 
1525
                                        reviewArg=c['buildbotURL'],
 
1526
                                        startCB=gerritStartCB,
 
1527
                                        startArg=c['buildbotURL']))
1469
1528
 
1470
 
GerritStatusPush sends review of the :class:`Change` back to the Gerrit server.
 
1529
GerritStatusPush sends review of the :class:`Change` back to the Gerrit server,
 
1530
optionally also sending a message when a build is started.
1471
1531
``reviewCB`` should return a tuple of message, verified, reviewed. If message
1472
1532
is ``None``, no review will be sent.
 
1533
``startCB`` should return a message.
1473
1534
 
1474
1535
.. [#] Apparently this is the same way http://buildd.debian.org displays build status
1475
1536