Skip to content

Commit

Permalink
DEVPROD-11185: Add includeRepo parameter to project API calls (#185)
Browse files Browse the repository at this point in the history
  • Loading branch information
llazala000 authored and Ubuntu committed Sep 11, 2024
1 parent 9f22440 commit 3ac5a14
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 9 deletions.
24 changes: 20 additions & 4 deletions _modules/evergreen/api.html
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ <h1>Source code for evergreen.api</h1><div class="highlight"><pre>
<span class="n">EVERGREEN_URL_REGEX</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;(https?)://evergreen\..*?(?=\n)&quot;</span><span class="p">)</span>
<span class="n">EVERGREEN_PATCH_ID_REGEX</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;(?&lt;=ID : )\w</span><span class="si">{24}</span><span class="s2">&quot;</span><span class="p">)</span>

<span class="n">INCLUDE_REPO_QUERY</span> <span class="o">=</span> <span class="s2">&quot;?includeRepo=true&quot;</span>


<div class="viewcode-block" id="EvergreenApi"><a class="viewcode-back" href="../../evergreen.html#evergreen.api.EvergreenApi">[docs]</a><span class="k">class</span> <span class="nc">EvergreenApi</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Base methods for building API objects.&quot;&quot;&quot;</span>
Expand Down Expand Up @@ -459,28 +461,42 @@ <h1>Source code for evergreen.api</h1><div class="highlight"><pre>
<span class="n">url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_create_url</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;/tasks/</span><span class="si">{</span><span class="n">task_id</span><span class="si">}</span><span class="s2">/abort&quot;</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_call_api</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="s2">&quot;POST&quot;</span><span class="p">)</span></div>

<div class="viewcode-block" id="EvergreenApi.all_projects"><a class="viewcode-back" href="../../evergreen.html#evergreen.api.EvergreenApi.all_projects">[docs]</a> <span class="k">def</span> <span class="nf">all_projects</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_filter_fn</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Callable</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="n">Project</span><span class="p">]:</span>
<div class="viewcode-block" id="EvergreenApi.all_projects"><a class="viewcode-back" href="../../evergreen.html#evergreen.api.EvergreenApi.all_projects">[docs]</a> <span class="k">def</span> <span class="nf">all_projects</span><span class="p">(</span>
<span class="bp">self</span><span class="p">,</span>
<span class="n">project_filter_fn</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Callable</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
<span class="n">include_repo_variables</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="n">Project</span><span class="p">]:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Get all projects in evergreen.</span>

<span class="sd"> :param project_filter_fn: function to filter projects, should accept a project_id argument.</span>
<span class="sd"> :param include_repo_variables: include repo variables query in the project API call</span>
<span class="sd"> :return: List of all projects in evergreen.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_create_url</span><span class="p">(</span><span class="s2">&quot;/projects&quot;</span><span class="p">)</span>
<span class="n">url_string</span> <span class="o">=</span> <span class="s2">&quot;/projects&quot;</span>
<span class="k">if</span> <span class="n">include_repo_variables</span><span class="p">:</span>
<span class="n">url_string</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">INCLUDE_REPO_QUERY</span><span class="p">)</span>
<span class="n">url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_create_url</span><span class="p">(</span><span class="n">url_string</span><span class="p">)</span>
<span class="n">project_list</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_paginate</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
<span class="n">projects</span> <span class="o">=</span> <span class="p">[</span><span class="n">Project</span><span class="p">(</span><span class="n">project</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span> <span class="k">for</span> <span class="n">project</span> <span class="ow">in</span> <span class="n">project_list</span><span class="p">]</span> <span class="c1"># type: ignore[arg-type]</span>
<span class="k">if</span> <span class="n">project_filter_fn</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="k">return</span> <span class="p">[</span><span class="n">project</span> <span class="k">for</span> <span class="n">project</span> <span class="ow">in</span> <span class="n">projects</span> <span class="k">if</span> <span class="n">project_filter_fn</span><span class="p">(</span><span class="n">project</span><span class="p">)]</span>
<span class="k">return</span> <span class="n">projects</span></div>

<div class="viewcode-block" id="EvergreenApi.project_by_id"><a class="viewcode-back" href="../../evergreen.html#evergreen.api.EvergreenApi.project_by_id">[docs]</a> <span class="k">def</span> <span class="nf">project_by_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Project</span><span class="p">:</span>
<div class="viewcode-block" id="EvergreenApi.project_by_id"><a class="viewcode-back" href="../../evergreen.html#evergreen.api.EvergreenApi.project_by_id">[docs]</a> <span class="k">def</span> <span class="nf">project_by_id</span><span class="p">(</span>
<span class="bp">self</span><span class="p">,</span> <span class="n">project_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">include_repo_variables</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Project</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Get a project by project_id.</span>

<span class="sd"> :param project_id: Id of project to query.</span>
<span class="sd"> :param include_repo_variables: include repo variables query in the project API call</span>
<span class="sd"> :return: Project specified.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_create_url</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;/projects/</span><span class="si">{</span><span class="n">project_id</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
<span class="n">url_string</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;/projects/</span><span class="si">{</span><span class="n">project_id</span><span class="si">}</span><span class="s2">&quot;</span>
<span class="k">if</span> <span class="n">include_repo_variables</span><span class="p">:</span>
<span class="n">url_string</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">INCLUDE_REPO_QUERY</span><span class="p">)</span>
<span class="n">url</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_create_url</span><span class="p">(</span><span class="n">url_string</span><span class="p">)</span>
<span class="k">return</span> <span class="n">Project</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_paginate</span><span class="p">(</span><span class="n">url</span><span class="p">),</span> <span class="bp">self</span><span class="p">)</span> <span class="c1"># type: ignore[arg-type]</span></div>

<div class="viewcode-block" id="EvergreenApi.recent_versions_by_project"><a class="viewcode-back" href="../../evergreen.html#evergreen.api.EvergreenApi.recent_versions_by_project">[docs]</a> <span class="k">def</span> <span class="nf">recent_versions_by_project</span><span class="p">(</span>
Expand Down
14 changes: 10 additions & 4 deletions evergreen.html
Original file line number Diff line number Diff line change
Expand Up @@ -293,11 +293,14 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<dl class="py method">
<dt class="sig sig-object py" id="evergreen.api.EvergreenApi.all_projects">
<span class="sig-name descname"><span class="pre">all_projects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">project_filter_fn</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">Callable</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#evergreen.project.Project" title="evergreen.project.Project"><span class="pre">Project</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="reference internal" href="_modules/evergreen/api.html#EvergreenApi.all_projects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evergreen.api.EvergreenApi.all_projects" title="Permalink to this definition">¶</a></dt>
<span class="sig-name descname"><span class="pre">all_projects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">project_filter_fn</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">Callable</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">include_repo_variables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#evergreen.project.Project" title="evergreen.project.Project"><span class="pre">Project</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="reference internal" href="_modules/evergreen/api.html#EvergreenApi.all_projects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evergreen.api.EvergreenApi.all_projects" title="Permalink to this definition">¶</a></dt>
<dd><p>Get all projects in evergreen.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>project_filter_fn</strong> – function to filter projects, should accept a project_id argument.</p>
<dd class="field-odd"><ul class="simple">
<li><p><strong>project_filter_fn</strong> – function to filter projects, should accept a project_id argument.</p></li>
<li><p><strong>include_repo_variables</strong> – include repo variables query in the project API call</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>List of all projects in evergreen.</p>
Expand Down Expand Up @@ -822,11 +825,14 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<dl class="py method">
<dt class="sig sig-object py" id="evergreen.api.EvergreenApi.project_by_id">
<span class="sig-name descname"><span class="pre">project_by_id</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">project_id</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference internal" href="#evergreen.project.Project" title="evergreen.project.Project"><span class="pre">Project</span></a></span></span><a class="reference internal" href="_modules/evergreen/api.html#EvergreenApi.project_by_id"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evergreen.api.EvergreenApi.project_by_id" title="Permalink to this definition">¶</a></dt>
<span class="sig-name descname"><span class="pre">project_by_id</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">project_id</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">include_repo_variables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference internal" href="#evergreen.project.Project" title="evergreen.project.Project"><span class="pre">Project</span></a></span></span><a class="reference internal" href="_modules/evergreen/api.html#EvergreenApi.project_by_id"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evergreen.api.EvergreenApi.project_by_id" title="Permalink to this definition">¶</a></dt>
<dd><p>Get a project by project_id.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>project_id</strong> – Id of project to query.</p>
<dd class="field-odd"><ul class="simple">
<li><p><strong>project_id</strong> – Id of project to query.</p></li>
<li><p><strong>include_repo_variables</strong> – include repo variables query in the project API call</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Project specified.</p>
Expand Down
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

0 comments on commit 3ac5a14

Please sign in to comment.