Ця сторінка ще не перекладена українською. Показано англійську версію. Переглянути англійською

Експорт чек-листів

Експортуйте чек-листи ACC для звітності, відповідності вимогам та інтеграції з іншими системами.

Огляд робочого процесу

Чек-листи ACC
Шаблони чек-листів
Екземпляри чек-листів
Пункти чек-листів
Вкладення
Витягування
Список чек-листів
Отримання пунктів
Отримання відповідей
Експорт
Експорт у JSON
Звіт у CSV
Звіт у PDF
Інтеграція
Система якості
БД відповідності
Дашборд
Чек-листи → Витягування → Експорт → Інтеграція

Підхід через CLI

Перегляд усіх чек-листів

PROJECT_ID="b.project-id"

# List all checklists
raps acc checklist list "$PROJECT_ID"

# Export to JSON
raps acc checklist list "$PROJECT_ID" --output json > checklists.json

# Filter by status
cat checklists.json | jq '[.[] | select(.status == "completed")]' > completed.json

Отримання деталей чек-листа

CHECKLIST_ID="checklist-123"

# Get checklist with items
raps acc checklist get "$PROJECT_ID" "$CHECKLIST_ID" --output json > checklist-detail.json

# View structure
jq '.title, .status, (.items | length)' checklist-detail.json

Експорт пунктів чек-листа

# Get all items with status
raps acc checklist items "$PROJECT_ID" "$CHECKLIST_ID" --output json > items.json

# Export to CSV
cat items.json | jq -r '
  ["Item", "Status", "Response", "Assignee", "Date"],
  (.[] | [
    .title,
    .status,
    .response // "",
    .assignee // "",
    .completedAt // ""
  ]) | @csv
' > checklist-report.csv

Пакетний експорт усіх чек-листів

mkdir -p ./checklist-exports

jq -r '.[].id' checklists.json | while read id; do
  NAME=$(jq -r ".[] | select(.id == \"$id\") | .title" checklists.json | tr ' ' '_')

  raps acc checklist get "$PROJECT_ID" "$id" --output json > "./checklist-exports/${NAME}.json"

  # Also create CSV
  raps acc checklist items "$PROJECT_ID" "$id" --output json | jq -r '
    ["Item","Status","Response"],
    (.[] | [.title, .status, .response // ""]) | @csv
  ' > "./checklist-exports/${NAME}.csv"

  echo "Exported: $NAME"
done

CI/CD-конвеєр

# .github/workflows/checklist-export.yml
name: Checklist Export Pipeline

on:
  schedule:
    - cron: '0 6 * * *'  # Daily at 6 AM
  workflow_dispatch:
    inputs:
      project_id:
        description: 'Project ID'
        required: true

jobs:
  export-checklists:
    runs-on: ubuntu-latest
    steps:
      - name: Install RAPS
        run: cargo install raps

      - name: Authenticate
        env:
          APS_CLIENT_ID: ${{ secrets.APS_CLIENT_ID }}
          APS_CLIENT_SECRET: ${{ secrets.APS_CLIENT_SECRET }}
          APS_ACCESS_TOKEN: ${{ secrets.APS_ACCESS_TOKEN }}
          APS_REFRESH_TOKEN: ${{ secrets.APS_REFRESH_TOKEN }}
        run: raps auth login --token "$APS_ACCESS_TOKEN" --refresh-token "$APS_REFRESH_TOKEN" --non-interactive

      - name: Export all checklists
        env:
          APS_CLIENT_ID: ${{ secrets.APS_CLIENT_ID }}
          APS_CLIENT_SECRET: ${{ secrets.APS_CLIENT_SECRET }}
          PROJECT_ID: ${{ inputs.project_id || secrets.ACC_PROJECT_ID }}
        run: |
          mkdir -p ./exports

          # Get all checklists
          raps acc checklist list "$PROJECT_ID" --output json > ./exports/checklists.json

          # Export each checklist
          jq -r '.[].id' ./exports/checklists.json | while read id; do
            raps acc checklist get "$PROJECT_ID" "$id" --output json > "./exports/checklist-${id}.json"
            raps acc checklist items "$PROJECT_ID" "$id" --output json > "./exports/items-${id}.json"
          done

      - name: Generate summary report
        run: |
          echo "# Checklist Export Summary" > ./exports/summary.md
          echo "Generated: $(date)" >> ./exports/summary.md
          echo "" >> ./exports/summary.md

          TOTAL=$(jq 'length' ./exports/checklists.json)
          COMPLETED=$(jq '[.[] | select(.status == "completed")] | length' ./exports/checklists.json)
          IN_PROGRESS=$(jq '[.[] | select(.status == "in_progress")] | length' ./exports/checklists.json)

          echo "## Summary" >> ./exports/summary.md
          echo "- Total Checklists: $TOTAL" >> ./exports/summary.md
          echo "- Completed: $COMPLETED" >> ./exports/summary.md
          echo "- In Progress: $IN_PROGRESS" >> ./exports/summary.md
          echo "" >> ./exports/summary.md

          echo "## Checklists" >> ./exports/summary.md
          jq -r '.[] | "- \(.title): \(.status)"' ./exports/checklists.json >> ./exports/summary.md

      - name: Create combined CSV
        run: |
          echo "Checklist,Item,Status,Response,Assignee" > ./exports/all-items.csv

          for items_file in ./exports/items-*.json; do
            CHECKLIST_ID=$(basename "$items_file" | sed 's/items-\(.*\)\.json/\1/')
            CHECKLIST_NAME=$(jq -r ".[] | select(.id == \"$CHECKLIST_ID\") | .title" ./exports/checklists.json)

            jq -r --arg name "$CHECKLIST_NAME" '.[] | [$name, .title, .status, (.response // ""), (.assignee // "")] | @csv' "$items_file" >> ./exports/all-items.csv
          done

      - name: Upload exports
        uses: actions/upload-artifact@v4
        with:
          name: checklist-exports
          path: ./exports/

Потік конвеєра

Тригер
Щоденно/Вручну
Експорт
Список чек-листів
Експорт кожного
Отримання пунктів
Звіти
summary.md
all-items.csv
Індивідуальні JSON

Інтеграція з MCP

Отримання статусу чек-листів

User: "What's the status of our quality checklists?"
КористувачAI-асистентRAPS MCPACC Cloud
Корист.Статус чек-листів якостіAI
AIaps_acc_checklist_list(project_id)MCP
MCPОтримання чек-листівACC
ACCСписок чек-листівMCP
AI: Групування за статусом + Розрахунок відсотків завершення
AIЗведення статусуКорист.

Відповідь AI:

Статус чек-листів якості:

СтатусКількість%
Завершено4575%
В процесі1220%
Не розпочато35%

Нещодавня активність:

  • “Інспекція MEP рівня 3” завершена сьогодні
  • “Перевірка каркасу” на 80%
  • “Зовнішня гідроізоляція” починається завтра

Експорт конкретного чек-листа

User: "Export the fire safety inspection checklist to CSV"

Відповідь AI:

Експортовано чек-лист “Інспекція пожежної безпеки”:

Зведення:

  • Всього пунктів: 42
  • Пройдено: 38
  • Не пройдено: 2
  • Очікує: 2

Непройдені пункти:

  • Знаки аварійних виходів (Будівля A, Рівень 2)
  • Бирка огляду вогнегасника (Будівля B, Рівень 1)

CSV-файл: fire-safety-inspection.csv


Звітність щодо відповідності

Зведення пройдених/непройдених пунктів

cat items.json | jq '
  {
    total: length,
    passed: [.[] | select(.status == "passed")] | length,
    failed: [.[] | select(.status == "failed")] | length,
    pending: [.[] | select(.status == "pending")] | length,
    na: [.[] | select(.status == "na")] | length
  } |
  . + {passRate: ((.passed / .total) * 100 | floor)}
'

Звіт по непройдених пунктах

cat items.json | jq '[.[] | select(.status == "failed") | {
  item: .title,
  reason: .response,
  assignee: .assignee,
  date: .updatedAt
}]'

Хронологія завершення

cat items.json | jq '
  [.[] | select(.completedAt != null)] |
  group_by(.completedAt[:10]) |
  map({date: .[0].completedAt[:10], completed: length}) |
  sort_by(.date)'

Пов’язане