16a205c108
This allows users quick access to test their new trigger they just setup Fixes #125
133 lines
6.9 KiB
HTML
133 lines
6.9 KiB
HTML
<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 loading" ng-show="currentView == 'activating'">
|
|
<span class="cor-loader-inline"></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="custom-git">
|
|
<div class="trigger-setup-custom" repository="repository" trigger="trigger"
|
|
next-step-counter="nextStepCounter" current-step-valid="state.stepValid"
|
|
analyze="checkAnalyze(isValid)"></div>
|
|
</div>
|
|
<div ng-switch-default>
|
|
<div class="trigger-setup-githost" repository="repository" trigger="trigger"
|
|
kind="{{ trigger.service }}"
|
|
next-step-counter="nextStepCounter" current-step-valid="state.stepValid"
|
|
analyze="checkAnalyze(isValid)"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Loading pull information -->
|
|
<div ng-show="currentView == 'analyzing'" class="loading">
|
|
<span class="cor-loader-inline"></span> Checking pull credential requirements...
|
|
</div>
|
|
|
|
<!-- Pull information -->
|
|
<div class="trigger-option-section" ng-show="currentView == 'analyzed'">
|
|
|
|
<!-- Messaging -->
|
|
<div ng-switch on="pullInfo.analysis.status">
|
|
<div ng-switch-when="error" class="alert alert-danger">{{ pullInfo.analysis.message }}</div>
|
|
<div ng-switch-when="warning" class="alert alert-warning">{{ pullInfo.analysis.message }}</div>
|
|
<div ng-switch-when="notimplemented" class="alert alert-warning">
|
|
<p>For {{ TriggerService.getTitle(trigger.service) }} triggers, we are unable to determine dependencies automatically.</p>
|
|
<p>If the git repository being built depends on a private base image, you must manually select a robot account with the proper permissions.</p>
|
|
</div>
|
|
</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
|
|
Dockerfile found
|
|
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 ci-robot"></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 class="trigger-option-section" ng-show="currentView == 'postActivation'">
|
|
<div ng-if="trigger.config.credentials" class="credentials" trigger="trigger"></div>
|
|
<div ng-if="!trigger.config.credentials">
|
|
<div class="alert alert-success">The trigger has been successfully created.</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="modal-footer" ng-show="currentView != 'activating'">
|
|
<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-success" ng-click="runTriggerNow()"
|
|
ng-if="currentView == 'postActivation'">Run Trigger Now</button>
|
|
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ currentView == 'postActivation' ? 'Done' : 'Cancel' }}</button>
|
|
</div>
|
|
</div><!-- /.modal-content -->
|
|
</div><!-- /.modal-dialog -->
|
|
</div><!-- /.modal -->
|
|
</div>
|