437 lines
		
	
	
	
		
			24 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			437 lines
		
	
	
	
		
			24 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <div class="manage-trigger-githost-element manage-trigger-control">
 | |
|   <linear-workflow done-title="Create Trigger"
 | |
|                    (on-workflow-complete)="$ctrl.createTrigger($event)">
 | |
|     <!-- Section: Namespace -->
 | |
|     <linear-workflow-section class="row"
 | |
|                              section-id="namespace"
 | |
|                              section-title="::{{ 'Select ' + $ctrl.namespaceTitle }}"
 | |
|                              section-valid="$ctrl.local.selectedNamespace"
 | |
|                              skip-section="$ctrl.githost == 'custom-git'">
 | |
|       <div class="col-lg-7 col-md-7 col-sm-12 main-col"
 | |
|            ng-if="$ctrl.local.namespaces">
 | |
|         <h3>Select {{ ::$ctrl.namespaceTitle }}</h3>
 | |
|         <strong>Please select the {{ ::$ctrl.namespaceTitle }} under which the repository lives</strong>
 | |
| 
 | |
|         <cor-table table-data="$ctrl.local.namespaces"
 | |
|                    table-item-title="namespaces"
 | |
|                    max-display-count="$ctrl.namespacesPerPage"
 | |
|                    filter-fields="::['title', 'id']">
 | |
|           <cor-table-col datafield="title"
 | |
|                          style="width: 30px;"
 | |
|                          sortfield="title"
 | |
|                          bind-model="$ctrl.local.selectedNamespace"
 | |
|                          templateurl="/static/js/directives/ui/manage-trigger-githost/namespace-radio-input.html">
 | |
|             <script type="text/ng-template" id="/static/js/directives/ui/manage-trigger-githost/namespace-radio-input.html">
 | |
|               <input type="radio"
 | |
|                      ng-model="col.bindModel" ng-value="item"
 | |
|                      ng-dblclick="col.bindModel = null">
 | |
|             </script>
 | |
|           </cor-table-col>
 | |
|           <cor-table-col title="{{ ::$ctrl.namespaceTitle }}"
 | |
|                          datafield="id"
 | |
|                          sortfield="id"
 | |
|                          templateurl="/static/js/directives/ui/manage-trigger-githost/namespace-name.html">
 | |
|             <script type="text/ng-template" id="/static/js/directives/ui/manage-trigger-githost/namespace-name.html">
 | |
|               <img class="namespace-avatar" ng-src="{{ ::item.avatar_url }}" ng-if="::item.avatar_url">
 | |
|               <span class="anchor"
 | |
|                     href="{{ ::item.url }}"
 | |
|                     is-text-only="::!item.url">{{ ::item.title }}</span>
 | |
|             </script>
 | |
|           </cor-table-col>
 | |
|           <cor-table-col title="Importance"
 | |
|                          datafield="score"
 | |
|                          bind-model="$ctrl.local.maxScore"
 | |
|                          style="display: flex; justify-content: flex-end"
 | |
|                          templateurl="/static/js/directives/ui/manage-trigger-githost/namespace-score.html">
 | |
|             <script type="text/ng-template" id="/static/js/directives/ui/manage-trigger-githost/namespace-score.html">
 | |
|               <div style="padding-right: 40px;">
 | |
|                 <span class="strength-indicator"
 | |
|                       value="::item.score" maximum="::col.bindModel" log-base="10"></span>
 | |
|               </div>
 | |
|             </script>
 | |
|           </cor-table-col>
 | |
|         </cor-table>
 | |
|       </div>
 | |
| 
 | |
|       <div class="col-lg-8 col-md-8 col-sm-12 main-col"
 | |
|            ng-if="!$ctrl.local.namespaces">
 | |
|         <span class="cor-loader-inline"></span> Retrieving {{ $ctrl.namespaceTitle }}s
 | |
|       </div>
 | |
|       <div class="col-lg-4 col-md-4 hidden-sm hidden-xs help-col" ng-if="$ctrl.local.namespaces">
 | |
|         <p>
 | |
|           <span class="registry-name"></span> has been granted access to read and view these {{ $ctrl.namespaceTitle }}s.
 | |
|         </p>
 | |
|         <p class="co-alert co-alert-info gh-grant-message" ng-if="$ctrl.githost == 'github'">
 | |
|           <b>Don't see an expected organization here?</b>Please visit <a href="{{ $ctrl.githubTriggerEndpoint }}settings/connections/applications/{{ $ctrl.githubTriggerClientId }}" target="_blank" rel="nofollow noopener">Connections with <span class="registry-name"></span></a> and choose <span class="gh-button">Grant</span> or <span class="gh-button">Request</span> before reloading this page.
 | |
|         </p>
 | |
|       </div>
 | |
|     </linear-workflow-section><!-- /Section: Namespace -->
 | |
| 
 | |
|     <!-- Section: Githost Repository -->
 | |
|     <linear-workflow-section class="row"
 | |
|                              section-id="repo"
 | |
|                              section-title="Select Repository"
 | |
|                              section-valid="$ctrl.local.selectedRepository.full_name"
 | |
|                              skip-section="$ctrl.githost == 'custom-git'">
 | |
|       <div class="col-lg-7 col-md-7 col-sm-12 main-col"
 | |
|            ng-if="$ctrl.local.repositories">
 | |
|         <h3>Select Repository</h3>
 | |
|         <strong>
 | |
|           Select a repository in
 | |
|           <img class="namespace-avatar"
 | |
|                ng-src="{{ $ctrl.local.selectedNamespace.avatar_url }}"
 | |
|                ng-if="$ctrl.local.selectedNamespace.avatar_url">
 | |
|           {{ $ctrl.local.selectedNamespace.title }}
 | |
|         </strong>
 | |
| 
 | |
|         <div style="display: flex; justify-content: flex-end;">
 | |
|           <div class="filter-options">
 | |
|             <label>
 | |
|               <input type="checkbox"
 | |
|                      ng-model="$ctrl.local.repositoryOptions.hideStale"
 | |
|                      ng-change="$ctrl.buildOrderedRepositories()">
 | |
|               Hide stale repositories
 | |
|             </label>
 | |
|           </div>
 | |
|         </div>
 | |
| 
 | |
|         <cor-table table-data="$ctrl.local.orderedRepositories.entries"
 | |
|                    table-item-title="repositories"
 | |
|                    max-display-count="$ctrl.repositoriesPerPage"
 | |
|                    filter-fields="['name', 'description']">
 | |
|           <cor-table-col bind-model="$ctrl.local.selectedRepository"
 | |
|                          templateurl="/static/js/directives/ui/manage-trigger-githost/repository-radio-input.html"
 | |
|                          style="width: 30px;">
 | |
|             <script type="text/ng-template" id="/static/js/directives/ui/manage-trigger-githost/repository-radio-input.html">
 | |
|               <span ng-if="!item.has_admin_permissions">
 | |
|               <i class="fa fa-exclamation-triangle"
 | |
|                  data-title="Admin access is required to add the webhook trigger to this repository" bs-tooltip></i>
 | |
|             </span>
 | |
|               <div ng-if="item.has_admin_permissions">
 | |
|                 <input type="radio"
 | |
|                        ng-model="col.bindModel" ng-value="item"
 | |
|                        ng-dblclick="col.bindModel = null">
 | |
|               </div>
 | |
|             </script>
 | |
|           </cor-table-col>
 | |
|           <cor-table-col title="Repository Name"
 | |
|                          datafield="name"
 | |
|                          sortfield="name"
 | |
|                          bind-model="$ctrl.getTriggerIcon()"
 | |
|                          templateurl="/static/js/directives/ui/manage-trigger-githost/repository-name.html">
 | |
|             <script type="text/ng-template" id="/static/js/directives/ui/manage-trigger-githost/repository-name.html">
 | |
|               <i class="service-icon fa {{ ::col.bindModel }}"></i>
 | |
|               <span class="anchor"
 | |
|                     href="{{ item.url }}"
 | |
|                     is-text-only="!item.url">{{ item.name }}</span>
 | |
|             </script>
 | |
|           </cor-table-col>
 | |
|           <cor-table-col title="Updated"
 | |
|                          datafield="last_updated_datetime"
 | |
|                          templateurl="/static/js/directives/ui/manage-trigger-githost/repository-last-updated.html">
 | |
|             <script type="text/ng-template" id="/static/js/directives/ui/manage-trigger-githost/repository-last-updated.html">
 | |
|               <time-ago datetime="item.last_updated_datetime"></time-ago>
 | |
|             </script>
 | |
|           </cor-table-col>
 | |
|           <cor-table-col title="Description"
 | |
|                          datafield="description"
 | |
|                          sortfield="description"
 | |
|                          templateurl="/static/js/directives/ui/manage-trigger-githost/repository-description.html"
 | |
|                          class="co-flowing-col">
 | |
|             <script type="text/ng-template" id="/static/js/directives/ui/manage-trigger-githost/repository-description.html">
 | |
|               <span ng-if="item.description" class="repo-description">
 | |
|                 {{ item.description }}
 | |
|               </span>
 | |
|               <span ng-if="!item.description" class="empty-description">(None)</span>
 | |
|             </script>
 | |
|           </cor-table-col>
 | |
|         </cor-table>
 | |
|       </div>
 | |
| 
 | |
|       <div class="col-lg-8 col-md-8 col-sm-12 main-col"
 | |
|            ng-if="!$ctrl.local.repositories">
 | |
|         <span class="cor-loader-inline"></span> Retrieving repositories
 | |
|       </div>
 | |
|       <div class="col-lg-4 col-md-4 hidden-sm hidden-xs help-col"
 | |
|            ng-if="$ctrl.local.repositories">
 | |
|         <p>
 | |
|           A webhook will be added to the selected repository in order to detect when new commits are made.
 | |
|         </p>
 | |
|         <p>
 | |
|           Don't see an expected repository here? Please make sure you have admin access on that repository.
 | |
|         </p>
 | |
|       </div>
 | |
|     </linear-workflow-section><!-- /Section: Githost Repository -->
 | |
| 
 | |
|     <!-- Section: Custom Git Repository -->
 | |
|     <linear-workflow-section class="row"
 | |
|                              section-id="repo"
 | |
|                              section-title="Git Repository"
 | |
|                              section-valid="$ctrl.local.selectedRepository.full_name"
 | |
|                              skip-section="$ctrl.githost != 'custom-git'">
 | |
| 
 | |
|       <div class="col-lg-7 col-md-7 col-sm-12 main-col">
 | |
|         <h3>Enter repository</h3>
 | |
|         <strong>Please enter the HTTP or SSH style URL used to clone your git repository</strong>
 | |
|         <input class="form-control" type="text" placeholder="git@example.com:namespace/repository.git"
 | |
|                ng-model="$ctrl.buildSource"
 | |
|                ng-change="$ctrl.checkBuildSource($ctrl.buildSource)"
 | |
|                ng-pattern="/(((http|https):\/\/)(.+)|\w+@(.+):(.+))/">
 | |
|       </div>
 | |
|       <div class="col-lg-5 col-md-5 hidden-sm hidden-xs help-col">
 | |
|         <p>Custom git triggers support any externally accessible git repository, via either the normal git protocol or HTTP.</p>
 | |
| 
 | |
|         <p><b>It is the responsibility of the git repository to invoke a webhook to tell <span class="registry-name" short="true"></span> that a commit has been added.</b></p>
 | |
|       </div>
 | |
|     </linear-workflow-section><!-- /Section: Repository -->
 | |
| 
 | |
|     <!-- Section: Trigger Options -->
 | |
|     <linear-workflow-section class="row"
 | |
|                              section-id="triggeroptions"
 | |
|                              section-title="Configure Trigger"
 | |
|                              section-valid="$ctrl.local.triggerOptions"
 | |
|                              skip-section="$ctrl.githost == 'custom-git'">
 | |
|       <div class="col-lg-7 col-md-7 col-sm-12 main-col" ng-if="$ctrl.local.repositoryRefs">
 | |
|         <h3>Configure Trigger</h3>
 | |
|         <strong>
 | |
|           Configure trigger options for
 | |
|           <img class="namespace-avatar"
 | |
|                ng-src="{{ $ctrl.local.selectedNamespace.avatar_url }}"
 | |
|                ng-if="$ctrl.local.selectedNamespace.avatar_url">
 | |
|           {{ $ctrl.local.selectedNamespace.title }}/{{ $ctrl.local.selectedRepository.name }}
 | |
|         </strong>
 | |
| 
 | |
|         <div class="radio" style="margin-top: 20px;">
 | |
|           <label>
 | |
|             <input type="radio" name="optionRadio"
 | |
|                    ng-model="$ctrl.local.triggerOptions.hasBranchTagFilter"
 | |
|                    ng-value="false">
 | |
|             <div class="title">Trigger for all branches and tags <span class="weak">(default)</span></div>
 | |
|             <div class="description">Build a container image for each commit across all branches and tags</div>
 | |
|           </label>
 | |
|         </div>
 | |
|         <div class="radio">
 | |
|           <label>
 | |
|             <input type="radio"
 | |
|                    name="optionRadio"
 | |
|                    ng-model="$ctrl.local.triggerOptions.hasBranchTagFilter"
 | |
|                    ng-value="true">
 | |
|             <div class="title">Trigger only on branches and tags matching a regular expression</div>
 | |
|             <div class="description">Only build container images for a subset of branches and/or tags.</div>
 | |
|             <div class="extended"
 | |
|                  ng-if="$ctrl.local.triggerOptions.hasBranchTagFilter">
 | |
|               <table>
 | |
|                 <tr>
 | |
|                   <td style="white-space: nowrap;">Regular Expression:</td>
 | |
|                   <td>
 | |
|                     <input type="text" class="form-control"
 | |
|                            ng-model="$ctrl.local.triggerOptions.branchTagFilter"
 | |
|                            required>
 | |
|                     <div class="description">Examples: heads/master, tags/tagname, heads/.+</div>
 | |
|                     <regex-match-view items="$ctrl.local.repositoryFullRefs"
 | |
|                                       regex="$ctrl.local.triggerOptions.branchTagFilter"
 | |
|                                       ng-if="$ctrl.local.triggerOptions.branchTagFilter"></regex-match-view>
 | |
|                   </td>
 | |
|                 </tr>
 | |
|               </table>
 | |
|             </div>
 | |
|           </label>
 | |
|         </div>
 | |
|       </div>
 | |
| 
 | |
|       <div class="col-lg-8 col-md-8 col-sm-12 main-col"
 | |
|            ng-if="!$ctrl.local.repositoryRefs">
 | |
|         <span class="cor-loader-inline"></span> Retrieving repository refs
 | |
|       </div>
 | |
|       <div class="col-lg-4 col-md-4 hidden-sm hidden-xs help-col">
 | |
|         <p>Do you want to build a new container image for commits across all branches and tags, or limit to a subset?</p>
 | |
|         <p>For example, if you use release branches instead of <code>master</code> for building versions of your software, you can configure the trigger to only build images for these branches.</p>
 | |
|         <p>All images built will be tagged with the name of the branch or tag whose change invoked the trigger</p>
 | |
|       </div>
 | |
|     </linear-workflow-section><!-- /Section: Trigger Options -->
 | |
| 
 | |
|     <!-- Section: Dockerfile Location -->
 | |
|     <linear-workflow-section class="row"
 | |
|                              section-id="dockerfilelocation"
 | |
|                              section-title="Select Dockerfile"
 | |
|                              section-valid="$ctrl.local.hasValidDockerfilePath">
 | |
|       <div class="col-lg-7 col-md-7 col-sm-12 main-col"
 | |
|            ng-if="$ctrl.local.dockerfileLocations.status == 'error'">
 | |
|         <div class="co-alert co-alert-warning">
 | |
|           {{ $ctrl.local.dockerfileLocations.message }}
 | |
|         </div>
 | |
|       </div>
 | |
| 
 | |
|       <div class="col-lg-7 col-md-7 col-sm-12 main-col"
 | |
|            ng-if="$ctrl.githost == 'custom-git' || $ctrl.local.dockerfileLocations.status == 'success'">
 | |
|         <h3>Select Dockerfile</h3>
 | |
|         <strong>Please select the location of the Dockerfile to build when this trigger is invoked</strong>
 | |
|         <dockerfile-path-select current-path="$ctrl.local.dockerfilePath"
 | |
|                                 paths="$ctrl.local.dockerfileLocations.dockerfile_paths"
 | |
|                                 supports-full-listing="true"
 | |
|                                 (path-changed)="$ctrl.checkDockerfilePath($event)"></dockerfile-path-select>
 | |
|         <span ng-if="$ctrl.local.dockerfilePath.split('/').splice(-1)[0] == ''"
 | |
|               style="color: #D64456;">
 | |
|           Dockerfile path must end with a file, probably named <code>Dockerfile</code>
 | |
|         </span>
 | |
|       </div>
 | |
| 
 | |
|       <div class="col-lg-8 col-md-8 col-sm-12 main-col"
 | |
|            ng-if="$ctrl.githost != 'custom-git' && !$ctrl.local.dockerfileLocations">
 | |
|         <span class="cor-loader-inline"></span> Retrieving Dockerfile locations
 | |
|       </div>
 | |
|       <div class="col-lg-4 col-md-4 hidden-sm hidden-xs help-col">
 | |
|         <p>Please select the location containing the Dockerfile to be built.</p>
 | |
|         <p>The Dockerfile path starts with the context and ends with the path to the Dockefile that you would like to build</p>
 | |
|         <p>If the Dockerfile is located at the root of the git repository and named Dockerfile, enter <code>/Dockerfile</code> as the Dockerfile path.</p>
 | |
|       </div>
 | |
|     </linear-workflow-section><!-- /Section: Dockerfile Location -->
 | |
| 
 | |
|     <!-- Section: Context Location -->
 | |
|     <linear-workflow-section class="row"
 | |
|                              section-id="contextlocation"
 | |
|                              section-title="Select Docker Context"
 | |
|                              section-valid="$ctrl.local.hasValidContextLocation">
 | |
|       <div class="col-lg-7 col-md-7 col-sm-12 main-col"
 | |
|            ng-if="$ctrl.local.dockerfileLocations.status == 'error'">
 | |
|         <div class="co-alert co-alert-warning">
 | |
|           {{ $ctrl.local.dockerfileLocations.message }}
 | |
|         </div>
 | |
|       </div>
 | |
| 
 | |
|       <div class="col-lg-7 col-md-7 col-sm-12 main-col"
 | |
|            ng-if="$ctrl.githost == 'custom-git' || $ctrl.local.dockerfileLocations.status == 'success'">
 | |
|         <h3>Select Context</h3>
 | |
|         <strong>Please select the context for the Docker build</strong>
 | |
| 
 | |
|         <context-path-select current-context="$ctrl.local.dockerContext"
 | |
|                              contexts="$ctrl.local.contexts"
 | |
|                              (context-changed)="$ctrl.checkBuildContext($event)"></context-path-select>
 | |
|       </div>
 | |
| 
 | |
|       <div class="col-lg-8 col-md-8 col-sm-12 main-col"
 | |
|            ng-if="$ctrl.githost != 'custom-git' && !$ctrl.local.dockerfileLocations">
 | |
|         <span class="cor-loader-inline"></span> Retrieving Dockerfile locations
 | |
|       </div>
 | |
|       <div class="col-lg-4 col-md-4 hidden-sm hidden-xs help-col">
 | |
|         <p>Please select a Docker context.</p>
 | |
|         <p>The build context directory is the path of the directory containing the Dockerfile and any other files to be made available when the build is triggered.</p>
 | |
|         <p>If the Dockerfile is located at the root of the git repository, enter <code>/</code> as the build context directory.</p>
 | |
|       </div>
 | |
|     </linear-workflow-section><!-- /Section: Context Location -->
 | |
| 
 | |
|     <!-- Section: Robot Account -->
 | |
|     <linear-workflow-section class="row"
 | |
|                              section-id="robot"
 | |
|                              section-title="Robot Account"
 | |
|                              section-valid="$ctrl.local.triggerAnalysis.status != 'error' &&
 | |
|                                             ($ctrl.local.triggerAnalysis.status != 'requiresrobot' || $ctrl.local.robotAccount)">
 | |
|       <!-- Error -->
 | |
|       <div class="col-lg-7 col-md-7 col-sm-12 main-col"
 | |
|            ng-if="$ctrl.local.triggerAnalysis.status == 'error'">
 | |
|         <h3 class="error"><i class="fa fa-exclamation-circle"></i> Verification Error</h3>
 | |
|         <strong>
 | |
|           There was an error when verifying the state of <img class="namespace-avatar"
 | |
|                                                               ng-src="{{ $ctrl.local.selectedNamespace.avatar_url }}"
 | |
|                                                               ng-if="$ctrl.local.selectedNamespace.avatar_url">
 | |
|           {{ $ctrl.local.selectedNamespace.title }}/{{ $ctrl.local.selectedRepository.name }}
 | |
|         </strong>
 | |
| 
 | |
|         {{ $ctrl.local.triggerAnalysis.message }}
 | |
|       </div>
 | |
| 
 | |
|       <!-- Robot display for non-error cases -->
 | |
|       <div class="col-lg-7 col-md-7 col-sm-12 main-col"
 | |
|            ng-if="$ctrl.local.triggerAnalysis.status != 'error'">
 | |
|         <!-- Warning -->
 | |
|         <div ng-if="$ctrl.local.triggerAnalysis.status == 'warning'">
 | |
|           <h3 class="warning"><i class="fa fa-exclamation-triangle"></i> Verification Warning</h3>
 | |
|           {{ $ctrl.local.triggerAnalysis.message }}
 | |
|         </div>
 | |
| 
 | |
|         <!-- Public base -->
 | |
|         <div ng-if="$ctrl.local.triggerAnalysis.status == 'publicbase'">
 | |
|           <h3>Optional Robot Account</h3>
 | |
|           <strong>
 | |
|             <span ng-if="$ctrl.local.triggerAnalysis.is_admin">Choose an optional robot account below or click "Continue" to complete setup of this build trigger.</span>
 | |
|           </strong>
 | |
|         </div>
 | |
| 
 | |
|         <!-- Requires robot and is not admin -->
 | |
|         <div ng-if="$ctrl.local.triggerAnalysis.status == 'requiresrobot' && !$ctrl.local.triggerAnalysis.is_admin">
 | |
|           <h3>Robot Account Required</h3>
 | |
|           <p>The selected Dockerfile in the selected repository depends upon a private base image.</p>
 | |
|           <p>A robot account with access to the base image is required to setup this trigger, but you are not the administrator of this namespace.</p>
 | |
|           <p>Administrative access is required to continue to ensure security of the robot credentials.</p>
 | |
|         </div>
 | |
| 
 | |
|         <!-- Requires robot and is admin -->
 | |
|         <div ng-if="$ctrl.local.triggerAnalysis.status == 'requiresrobot' && $ctrl.local.triggerAnalysis.is_admin">
 | |
|           <h3>Robot Account Required</h3>
 | |
|           <p>The selected Dockerfile in the selected repository depends upon a private base image.</p>
 | |
|           <p>A robot account with access to the base image is required to setup this trigger.</p>
 | |
|         </div>
 | |
| 
 | |
|         <!-- Robots view -->
 | |
|         <div ng-if="$ctrl.local.triggerAnalysis.is_admin">
 | |
|           <cor-table table-data="$ctrl.local.triggerAnalysis.robots"
 | |
|                      table-item-title="robot accounts"
 | |
|                      filter-fields="['name']"
 | |
|                      max-display-count="$ctrl.robotsPerPage">
 | |
|             <cor-table-col datafield="name"
 | |
|                            bind-model="$ctrl.local.robotAccount"
 | |
|                            style="width: 30px;"
 | |
|                            templateurl="/static/js/directives/ui/manage-trigger-custom-git/robot-radio-input.html">
 | |
|               <script type="text/ng-template" id="/static/js/directives/ui/manage-trigger-custom-git/robot-radio-input.html">
 | |
|                 <input type="radio"
 | |
|                        ng-model="col.bindModel" ng-value="item"
 | |
|                        ng-dblclick="col.bindModel = null">
 | |
|               </script>
 | |
|             </cor-table-col>
 | |
|             <cor-table-col title="Robot Account"
 | |
|                            sortfield="name"
 | |
|                            templateurl="/static/js/directives/ui/manage-trigger-custom-git/robot-name.html">
 | |
|               <script type="text/ng-template" id="/static/js/directives/ui/manage-trigger-custom-git/robot-name.html">
 | |
|                 <span class="entity-reference" entity="item"></span>
 | |
|               </script>
 | |
|             </cor-table-col>
 | |
|             <cor-table-col ng-if="$ctrl.local.triggerAnalysis.status == 'requiresrobot' || true"
 | |
|                            datafield="can_read"
 | |
|                            templateurl="/static/js/directives/ui/manage-trigger-custom-git/can-read.html">
 | |
|               <script type="text/ng-template" id="/static/js/directives/ui/manage-trigger-custom-git/can-read.html">
 | |
|                 <span ng-if="item.can_read" class="success">Can Read</span>
 | |
|                 <span ng-if="!item.can_read">Read access will be added if selected</span>
 | |
|               </script>
 | |
|             </cor-table-col>
 | |
|           </cor-table>
 | |
|         </div> <!-- /Robots view -->
 | |
|       </div>
 | |
| 
 | |
|       <div class="col-lg-4 col-md-4 hidden-sm hidden-xs help-col"
 | |
|            ng-if="$ctrl.local.triggerAnalysis.is_admin">
 | |
|         <p>
 | |
|           In order for the <span class="registry-name"></span> to pull a <b>private base image</b> during the build
 | |
|           process, a robot account with access must be selected.
 | |
|         </p>
 | |
|         <p ng-if="$ctrl.local.triggerAnalysis.status != 'requiresrobot'">
 | |
|           If you know that a private base image is not used, you can skip this step.
 | |
|         </p>
 | |
|         <p ng-if="$ctrl.local.triggerAnalysis.status == 'requiresrobot'">
 | |
|           Robot accounts that already have access to this base image are listed first. If you select a robot account
 | |
|           that does not currently have access, read permission will be granted to that robot account on trigger creation.
 | |
|         </p>
 | |
|       </div>
 | |
|     </linear-workflow-section><!-- /Section: Verification and Robot Account -->
 | |
| 
 | |
|     <!-- Verification -->
 | |
|     <linear-workflow-section class="row"
 | |
|                              section-id="verification"
 | |
|                              section-title="Verification"
 | |
|                              section-valid="true">
 | |
|       <span>
 | |
|         <h3 class="success"><i class="fa fa-check-circle"></i> Ready to go!</h3>
 | |
|         Click "Continue" to complete setup of this build trigger.
 | |
|       </span>
 | |
|     </linear-workflow-section><!-- /Section: Verification -->
 | |
|   </linear-workflow>
 | |
| </div>
 |