<div class="setup-trigger-directive-element"> <!-- Modal message dialog --> <div class="modal fade" id="setupTriggerModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">Setup new build trigger</h4> </div> <div class="modal-body" ng-show="currentView == 'activating'"> <span class="quay-spinner"></span> Setting up trigger... </div> <div class="modal-body" ng-show="currentView != 'activating'"> <!-- Trigger-specific setup --> <div class="trigger-description-element trigger-option-section" ng-switch on="trigger.service"> <div ng-switch-when="github"> <div class="trigger-setup-github" repository="repository" trigger="trigger" next-step-counter="nextStepCounter" current-step-valid="state.stepValid" analyze="checkAnalyze(isValid)"></div> </div> </div> <!-- Loading pull information --> <div ng-show="currentView == 'analyzing'"> <span class="quay-spinner"></span> Checking pull credential requirements... </div> <!-- Pull information --> <div class="trigger-option-section" ng-show="currentView == 'analyzed'"> <!-- Messaging --> <div class="alert alert-danger" ng-if="pullInfo.analysis.status == 'error'"> {{ pullInfo.analysis.message }} </div> <div class="alert alert-warning" ng-if="pullInfo.analysis.status == 'warning'"> {{ pullRequirements.message }} </div> <div class="dockerfile-found" ng-if="pullInfo.analysis.is_public === false"> <div class="dockerfile-found-content"> A robot account is <strong>required</strong> for this build trigger because the <a href="{{ pullInfo.analysis.dockerfile_url }}" ng-if="pullInfo.analysis.dockerfile_url" target="_blank"> Dockerfile found </a> <span ng-if="!pullInfo.analysis.dockerfile_url">Dockerfile found</span> pulls from the private <span class="registry-name"></span> repository <a href="/repository/{{ pullInfo.analysis.namespace }}/{{ pullInfo.analysis.name }}" target="_blank"> {{ pullInfo.analysis.namespace }}/{{ pullInfo.analysis.name }} </a> </div> </div> <div style="margin-bottom: 12px">Please select the credentials to use when pulling the base image:</div> <div ng-if="!isNamespaceAdmin(repository.namespace)" style="color: #aaa;"> <strong>Note:</strong> In order to set pull credentials for a build trigger, you must be an Administrator of the namespace <strong>{{ repository.namespace }}</strong> </div> <!-- Namespace admin --> <div ng-show="isNamespaceAdmin(repository.namespace)"> <!-- Select credentials --> <div class="btn-group btn-group-sm"> <button type="button" class="btn btn-default" ng-class="pullInfo.is_public ? 'active btn-info' : ''" ng-click="pullInfo.is_public = true"> None </button> <button type="button" class="btn btn-default" ng-class="pullInfo.is_public ? '' : 'active btn-info'" ng-click="pullInfo.is_public = false"> <i class="fa fa-wrench"></i> Robot account </button> </div> <!-- Robot Select --> <div ng-show="!pullInfo.is_public" style="margin-top: 10px"> <div class="entity-search" namespace="repository.namespace" placeholder="'Select robot account for pulling...'" current-entity="pullInfo.pull_entity" allowed-entities="['robot']"></div> <div ng-if="pullInfo.analysis.robots.length" style="margin-top: 20px; margin-bottom: 0px;"> <strong>Note</strong>: We've automatically selected robot account <span class="entity-reference" entity="pullInfo.analysis.robots[0]"></span>, since it has access to the private repository. </div> <div ng-if="!pullInfo.analysis.robots.length && pullInfo.analysis.name" style="margin-top: 20px; margin-bottom: 0px;"> <strong>Note</strong>: No robot account currently has access to the private repository. Please create one and/or assign access in the <a href="/repository/{{ pullInfo.analysis.namespace }}/{{ pullInfo.analysis.name }}/admin" target="_blank"> repository's admin panel. </a> </div> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary" ng-disabled="!state.stepValid" ng-click="nextStepCounter = nextStepCounter + 1" ng-show="currentView == 'config'">Next</button> <button type="button" class="btn btn-primary" ng-disabled="!trigger.$ready || (!pullInfo['is_public'] && !pullInfo['pull_entity'])" ng-click="activate()" ng-show="currentView == 'analyzed'">Create Trigger</button> <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> </div>