Add bug links functionality for build pages

Add the ability to put links on the build pages intended
to allow prefilling of bug entry forms. Configuration protos
are changed to allow the entering of an optional BugTemplate
for a project. The template features summary and description
placeholders that get interpolated by the context of the
build. If all the interpolation placeholders for a particular
template are satisfied that link is rendered on the page.

The template syntax follows that of the built in go
templates. That is {{.placheholder}} style. The placeholders
that are allowed are documented in the proto definition file.
Additional placeholders are added easily if the data needed
can be obtained from either query parameters or the MiloBuild
data instance.

Bug: 903385
Change-Id: I9f551772d14d0b90f1adcf87bfa1d029446486d3
Reviewed-on: https://chromium-review.googlesource.com/c/1355340
Reviewed-by: David Burger <dburger@chromium.org>
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
Commit-Queue: David Burger <dburger@chromium.org>
30 files changed
tree: bab21d58fa8d32c9a1d2c13d42c5e4f9e4b6f762
  1. .travis.yml
  2. AUTHORS
  3. CONTRIBUTING.md
  4. CONTRIBUTORS
  5. LICENSE
  6. OWNERS
  7. PRESUBMIT.py
  8. README.md
  9. appengine/
  10. auth/
  11. buildbucket/
  12. cipd/
  13. client/
  14. codereview.settings
  15. common/
  16. config/
  17. dm/
  18. examples/
  19. gce/
  20. grpc/
  21. hardcoded/
  22. infra/
  23. logdog/
  24. luci_notify/
  25. lucicfg/
  26. lucictx/
  27. machine-db/
  28. milo/
  29. mmutex/
  30. mp/
  31. pre-commit-go.yml
  32. scheduler/
  33. scripts/
  34. server/
  35. starlark/
  36. tokenserver/
  37. tools/
  38. tumble/
  39. vpython/
  40. web/
README.md

luci-go: LUCI services and tools in Go

GoDoc

Installing

LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:

fetch infra
cd infra/go
eval `./env.py`
cd src/go.chromium.org/luci

Contributing

Contributing uses the same flow as Chromium contributions.