@ -795,54 +795,56 @@ Returns:
[DEPS ](/recipes/recipe_modules/tryserver/__init__.py#5 ): [gerrit ](#recipe_modules-gerrit ), [git ](#recipe_modules-git ), [git\_cl ](#recipe_modules-git_cl ), [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step]
#### **class [TryserverApi ](/recipes/recipe_modules/tryserver/api.py# 11 )([RecipeApi][recipe_engine/wkt/RecipeApi]):**
#### **class [TryserverApi ](/recipes/recipe_modules/tryserver/api.py# 26 )([RecipeApi][recipe_engine/wkt/RecipeApi]):**
  ** @property **< br > — **def [gerrit\_change ](/recipes/recipe_modules/tryserver/api.py#29 )(self):**
  ** @property **< br > — **def [constants ](/recipes/recipe_modules/tryserver/api.py#48 )(self):**
  ** @property **< br > — **def [gerrit\_change ](/recipes/recipe_modules/tryserver/api.py#53 )(self):**
Returns current gerrit change, if there is exactly one.
Returns a self.m.buildbucket.common_pb2.GerritChange or None.
  ** @property **< br > — **def [gerrit\_change\_fetch\_ref ](/recipes/recipe_modules/tryserver/api.py#1 06 )(self):**
  ** @property **< br > — **def [gerrit\_change\_fetch\_ref ](/recipes/recipe_modules/tryserver/api.py#1 3 0)(self):**
Returns gerrit patch ref, e.g. "refs/heads/45/12345/6, or None.
Populated iff gerrit_change is populated.
  ** @property **< br > — **def [gerrit\_change\_number ](/recipes/recipe_modules/tryserver/api.py#1 2 4)(self):**
  ** @property **< br > — **def [gerrit\_change\_number ](/recipes/recipe_modules/tryserver/api.py#1 48 )(self):**
Returns gerrit change patchset, e.g. 12345 for a patch ref of
"refs/heads/45/12345/6".
Populated iff gerrit_change is populated. Returns None if not populated.
  ** @property **< br > — **def [gerrit\_change\_owner ](/recipes/recipe_modules/tryserver/api.py# 45 )(self):**
  ** @property **< br > — **def [gerrit\_change\_owner ](/recipes/recipe_modules/tryserver/api.py# 69 )(self):**
Returns owner of the current Gerrit CL.
Populated iff gerrit_change is populated.
Is a dictionary with keys like "name".
  ** @property **< br > — **def [gerrit\_change\_repo\_url ](/recipes/recipe_modules/tryserver/api.py# 37 )(self):**
  ** @property **< br > — **def [gerrit\_change\_repo\_url ](/recipes/recipe_modules/tryserver/api.py# 61 )(self):**
Returns canonical URL of the gitiles repo of the current Gerrit CL.
Populated iff gerrit_change is populated.
  ** @property **< br > — **def [gerrit\_change\_target\_ref ](/recipes/recipe_modules/tryserver/api.py#1 15 )(self):**
  ** @property **< br > — **def [gerrit\_change\_target\_ref ](/recipes/recipe_modules/tryserver/api.py#1 39 )(self):**
Returns gerrit change destination ref, e.g. "refs/heads/master".
Populated iff gerrit_change is populated.
  ** @property **< br > — **def [gerrit\_patchset\_number ](/recipes/recipe_modules/tryserver/api.py#1 3 6)(self):**
  ** @property **< br > — **def [gerrit\_patchset\_number ](/recipes/recipe_modules/tryserver/api.py#1 60 )(self):**
Returns gerrit change patchset, e.g. 6 for a patch ref of
"refs/heads/45/12345/6".
Populated iff gerrit_change is populated Returns None if not populated..
— **def [get\_files\_affected\_by\_patch ](/recipes/recipe_modules/tryserver/api.py#1 6 9)(self, patch_root, report_files_via_property=None, \*\*kwargs):**
— **def [get\_files\_affected\_by\_patch ](/recipes/recipe_modules/tryserver/api.py#1 93 )(self, patch_root, report_files_via_property=None, \*\*kwargs):**
Returns list of paths to files affected by the patch.
@ -854,43 +856,43 @@ Args:
Returned paths will be relative to to patch_root.
— **def [get\_footer ](/recipes/recipe_modules/tryserver/api.py#3 06 )(self, tag, patch_text=None):**
— **def [get\_footer ](/recipes/recipe_modules/tryserver/api.py#3 3 0)(self, tag, patch_text=None):**
Gets a specific tag from a CL description
— **def [get\_footers ](/recipes/recipe_modules/tryserver/api.py#2 73 )(self, patch_text=None):**
— **def [get\_footers ](/recipes/recipe_modules/tryserver/api.py#2 9 7)(self, patch_text=None):**
Retrieves footers from the patch description.
footers are machine readable tags embedded in commit messages. See
git-footers documentation for more information.
— **def [initialize ](/recipes/recipe_modules/tryserver/api.py# 24 )(self):**
— **def [initialize ](/recipes/recipe_modules/tryserver/api.py# 39 )(self):**
  ** @property **< br > — **def [is\_gerrit\_issue ](/recipes/recipe_modules/tryserver/api.py#1 53 )(self):**
  ** @property **< br > — **def [is\_gerrit\_issue ](/recipes/recipe_modules/tryserver/api.py#1 77 )(self):**
Returns true iff the properties exist to match a Gerrit issue.
  ** @property **< br > — **def [is\_patch\_in\_git ](/recipes/recipe_modules/tryserver/api.py#1 63 )(self):**
  ** @property **< br > — **def [is\_patch\_in\_git ](/recipes/recipe_modules/tryserver/api.py#1 87 )(self):**
  ** @property **< br > — **def [is\_tryserver ](/recipes/recipe_modules/tryserver/api.py#1 48 )(self):**
  ** @property **< br > — **def [is\_tryserver ](/recipes/recipe_modules/tryserver/api.py#1 72 )(self):**
Returns true iff we have a change to check out.
— **def [normalize\_footer\_name ](/recipes/recipe_modules/tryserver/api.py#3 10 )(self, footer):**
— **def [normalize\_footer\_name ](/recipes/recipe_modules/tryserver/api.py#3 34 )(self, footer):**
— **def [set\_change ](/recipes/recipe_modules/tryserver/api.py#3 1 3)(self, change):**
— **def [set\_change ](/recipes/recipe_modules/tryserver/api.py#3 37 )(self, change):**
Set the gerrit change for this module.
Args:
* change: a self.m.buildbucket.common_pb2.GerritChange.
— **def [set\_compile\_failure\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 34 )(self):**
— **def [set\_compile\_failure\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 58 )(self):**
Mark the tryjob result as a compile failure.
— **def [set\_invalid\_test\_results\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 46 )(self):**
— **def [set\_invalid\_test\_results\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 70 )(self):**
Mark the tryjob result as having invalid test results.
@ -898,37 +900,39 @@ This means we run some tests, but the results were not valid
(e.g. no list of specific test cases that failed, or too many
tests failing, etc).
— **def [set\_patch\_failure\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 30 )(self):**
— **def [set\_patch\_failure\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 54 )(self):**
Mark the tryjob result as failure to apply the patch.
— **def [set\_subproject\_tag ](/recipes/recipe_modules/tryserver/api.py#2 08 )(self, subproject_tag):**
— **def [set\_subproject\_tag ](/recipes/recipe_modules/tryserver/api.py#2 32 )(self, subproject_tag):**
Adds a subproject tag to the build.
This can be used to distinguish between builds that execute different steps
depending on what was patched, e.g. blink vs. pure chromium patches.
— **def [set\_test\_expired\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 63 )(self):**
— **def [set\_test\_expired\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 87 )(self):**
Mark the tryjob result as a test expiration.
This means a test task expired and was never scheduled, most likely due to
lack of capacity.
— **def [set\_test\_failure\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 38 )(self):**
— **def [set\_test\_failure\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 62 )(self):**
Mark the tryjob result as a test failure.
This means we started running actual tests (not prerequisite steps
like checkout or compile), and some of these tests have failed.
— **def [set\_test\_timeout\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 55 )(self):**
— **def [set\_test\_timeout\_tryjob\_result ](/recipes/recipe_modules/tryserver/api.py#2 79 )(self):**
Mark the tryjob result as a test timeout.
This means tests were scheduled but didn't finish executing within the
timeout.
  ** @property **< br > — **def [valid\_footers ](/recipes/recipe_modules/tryserver/api.py#44 )(self):**
### *recipe_modules* / [windows\_sdk ](/recipes/recipe_modules/windows_sdk )
[DEPS ](/recipes/recipe_modules/windows_sdk/__init__.py#5 ): [recipe\_engine/cipd][recipe_engine/recipe_modules/cipd], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/step][recipe_engine/recipe_modules/step]