Fazer pull das alterações

Pulls agendados, manuais e pela API, e alterações locais

  1. Fazer pull das alterações
    1. Pull a partir de um pipeline ou de um webhook
    2. Alterações locais

Fazer pull das alterações

Faz-se pull de um repositório segundo o seu agendamento, no arranque, a partir da página ou através da API; não há nenhum endpoint de webhook.

Gatilho Como
Agendamento Ativar o pull agendado e um Agendamento do pull, por exemplo 0 * * * * para cada hora
Arranque Fazer pull ao iniciar a aplicação clona o repositório, ou faz pull quando já está clonado
Página de definições Pull no menu da linha, ou Pull de todos por cima da lista
Designer Carregar (repositório), que faz pull dos repositórios de formulários e recarrega o designer; obter o bloqueio do designer também faz primeiro pull de todos os repositórios de formulários
API POST /api/v2/repository/<name>/pull (showSettings ou showConnectionsSettings) ou POST /api/v2/forms-repos/pull/<name> (ver abaixo)

Pull a partir de um pipeline ou de um webhook

O AnsibleForms não tem nenhum recetor de webhooks dedicado, mas uma tarefa de CI ou um webhook do servidor git pode chamar o endpoint de pull.

curl -X POST -H "Authorization: Bearer $TOKEN" https://af.example.com/api/v2/repository/forms/pull

Crie o token como descrito em Tokens de API, para um utilizador cuja função tenha showSettings ou showConnectionsSettings. /api/v2/forms-repos/pull/<name> precisa antes de showDesigner e allowFormDesign, com o designer ligado (SHOW_DESIGNER). GET /api/v2/repository/<name> devolve a head, o status e o output, para que um pipeline possa verificar que commit a instância está a usar depois de um pull.

Alterações locais

Um pull nunca substitui trabalho que ainda não foi enviado, por isso um pull agendado verifica a cópia de trabalho antes de correr.

Um pull agendado é saltado enquanto a cópia de trabalho tem alterações sem commit ou commits por enviar, e enquanto um designer tem o bloqueio do designer. Um pull manual de uma cópia de trabalho com alterações em conflito falha com:

Repository '<name>' has local changes that block the pull. Use 'Save (repository)' to push them first, or discard them.

Envie as alterações, ou descarte-as com Repor no menu da linha, que elimina a cópia de trabalho e a clona de novo.