К тексту на этой странице мог быть частично применён машинный перевод.

Начните пустой рабочий процесс для Службы погоды США

Рабочий процесс срабатывает, когда флажок установлен в таблице Smartsheet. Он использует координаты из этой строки, чтобы получить последний прогноз погоды от Службы погоды США и затем заполняет ту же строку в Smartsheet этими данными.

Доступно для:

Планы:

  • Bridge by Smartsheet

Вы можете использовать Службу погоды США для получения прогнозов, так как вам не нужна учетная запись для доступа к их данным о погоде.

Чтобы получить прогноз, вам необходимо сделать два вызова API к Службе погоды США:

  • Один для определения контрольной точки географического местоположения.
  • Второй для получения прогноза для этой определенной сетки. 

Вам не нужно быть уверенным в вызовах API, чтобы следовать шагам в этом руководстве, которое предоставляет все необходимое для завершения рабочего процесса.

Это шаги для создания рабочего процесса:

  1. Создать рабочий процесс
  2. Создать таблицу
  3. Аутентификация в Smartsheet и настройка триггера
  4. Настройка получения строки
  5. Настройка соединения
  6. Настройка первого вызова API
  7. Настройка второго вызова API
  8. Настройка обновления строки

Шаг 1. Создание рабочего процесса загрузки данных

  1. В Bridge выберите Новый рабочий процесс на панели Рабочие процессы.
  2. Дайте вашему рабочему процессу имя и выберите Создать новый

    Все рабочие процессы начинаются с триггера и состояния.


Шаг 2: Создайте таблицу

Перед настройкой триггера в Bridge вам нужна таблица Smartsheet с как минимум следующими именами и типами столбцов:

Имя столбцаТип столбца
ДатаДата
СегодняФлажок
ДолготаТекст
ШиротаТекст
Прогноз погодыТекст

Столбец Прогноз погоды может быть вашим основным столбцом или обычным текстовым столбцом. 

  1.  В первой ячейке столбца Сегодня вставьте следующую формулу: =IF (Date@row = TODAY (), true, false)
  2. Нажмите Enter. Это отмечает флажок, если дата в столбце Дата совпадает с сегодняшней датой, что вы можете использовать для запуска рабочего процесса в Bridge.
  3. Щелкните правой кнопкой мыши на ячейке с формулой и выберите Преобразовать в столбец с формулой. Это гарантирует, что все новые строки, добавленные в таблицу, используют эту формулу в столбце Сегодня.
  4. Сохраните таблицу.
  5. Перед тем как вернуться в Дизайнер в Bridge, скопируйте идентификатор таблицы. Вы можете найти идентификатор таблицы, перейдя в Файл > Свойства.

Шаг 3: Настройка триггера

В Дизайнере выберите Триггер в верхней части рабочего процесса. Это откроет панель с правой стороны Дизайнера, где вы можете настроить тип триггера, который хотите использовать. 

Поскольку рабочий процесс должен запускаться событием в Smartsheet, используемый тип триггера - это Интеграционный триггер. В панели выберите Страница интеграций в разделе Интеграции.

Brandfolder Image
Set up the trigger for the API call

Это откроет новую вкладку со страницей Интеграции

  1. Найдите Smartsheet и выберите логотип. 
  2. Нажмите Продолжить
  3. Выберите Аутентификация.
  4. В всплывающем окне выберите Разрешить.

Если аутентификация прошла успешно, окно изменится на вкладку Триггеры.

Brandfolder Image
Triggers tab

Разверните раздел Триггеры и выберите строку с иконкой плюс :

  1. В поле Идентификатор листа вставьте идентификатор листа, который вы скопировали при создании листа. Если вы знаете, что имя листа уникально, введите его.
  2. Выберите Когда изменяются значения столбцов в выпадающем списке Тип события.
  3. В поле, которое добавляется при выборе Тип события, введите имя столбца Сегодня.
  4. В выпадающем списке Выбрать рабочий процесс выберите рабочий процесс, который вы создали ранее, и выберите Сохранить.

    Вы можете сказать, что триггер был успешно настроен, потому что всплывающее окно перезагружается и сворачивает раздел Триггеры.

  5. Закройте вкладку и вернитесь к Конструктору.

Ошибки при сохранении триггера

Если при сохранении триггера появляется сообщение об ошибке, проверьте следующие элементы:

  • Убедитесь, что вы написали имя столбца точно так же, как в листе. 
  • Если вы ввели имя листа вместо использования идентификатора листа, проверьте, что вы написали его так же. 
  • Если вы не являетесь владельцем листа, проверьте свои разрешения на лист, чтобы убедиться, что у вас есть доступ.
  • Если другие триггеры уже настроены, другой триггер может вызвать проблему. Просмотрите другие триггеры, чтобы убедиться, что у одного из них не изменились разрешения или что лист, на который ссылается триггер, все еще существует.

Шаг 4: Настройка получения строки

Вы настроили триггер для запуска рабочего процесса при изменении столбца Сегодня; это действие теперь отправляет некоторую основную информацию в Bridge. Для первого шага вашего рабочего процесса вам необходимо получить некоторую из этой начальной информации: 

  1. Установите ячейку даты в первой строке на сегодняшнюю дату. Это автоматически отмечает флажок в столбце Сегодня из-за формулы, которую вы ввели ранее. 
  2. Сохраните таблицу и вернитесь к Дизайнеру в Bridge.
  3. Откройте журнал запуска. Выберите Обновить, один запуск должен появиться со статусом Завершено.
  4. Чтобы раскрыть исходные данные, отправленные в Bridge из Smartsheet, выберите запуск, разверните строку Триггер, и затем строку Событие
  5. Наведите курсор на rowId в данных триггера и выберите значок больше, чтобы открыть выпадающий список. 
  6. В выпадающем меню выберите Копировать ссылку на данные. Это копирует ссылку на идентификатор строки, который изменился, в ваш буфер обмена.

    Используя ссылку вместо источника JSON, рабочий процесс всегда получает измененную строку, а не всегда смотрит на одну и ту же строку. Это важно, так как изменение строки отличается между каждым запуском рабочего процесса. 

Brandfolder Image
Set up Get Row

Обновите состояние и добавьте модуль

  1. Выберите серое состояние и измените поле Имя на Получить строку.

    Хорошей практикой является именование состояний в соответствии с тем, что модули ниже них делают, чтобы сделать ваши рабочие процессы более читаемыми.

  2. Найдите модуль Получить строку в меню слева. Используйте поле поиска или найдите его, развернув Интеграции > Smartsheet > Получить строку.
  3. Перетащите модуль в рабочий процесс под серым состоянием. Панель для настройки модуля открывается автоматически. 
  4. В поле Идентификатор строки вставьте ссылку, которую вы скопировали из rowId в журнале запуска. Вставленное значение должно быть {{runtime.event.rowId}}.
  5. Чтобы получить идентификатор листа, снова откройте журнал выполнения и разверните данные триггера, чтобы найти его. Скопируйте ссылку на идентификатор листа так же, как вы делали это для идентификатора строки ранее, выбрав значок больше .
  6. Снова выберите модуль Получить строку и вставьте его в ссылку в поле Лист. Вставленное значение должно быть {{runtime.sheetID}}.
  7. Выберите Сохранить в верхней части страницы.

    Brandfolder Image
    Update the state and add a module

Шаг 5: Настройка соединения

Вам нужно определить, было ли изменение в флажке на листе связано с тем, что флажок был установлен или снят. Снятый флажок должен быть проигнорирован; однако, если флажок изменяется на установленный, это означает, что дата, установленная в столбце Дата, является сегодняшней датой, и вы хотите собрать прогноз погоды.

Для этого вам нужно сослаться на ячейку с флажком:

  1. Вернитесь к листу и измените дату в строке, которую вы добавили ранее, чтобы снять флажок. Сохраните таблицу.
  2. В Bridge снова откройте журнал выполнения и выберите Все запуски в верхнем левом углу панели. Обновите список, чтобы увидеть новый завершенный запуск вверху. 
  3. Откройте этот новый запуск и разверните шаг Smartsheet: Получить строку, чтобы раскрыть данные строки.
  4. Под строка > ячейки > Сегодня, вы можете увидеть, что значение равно false. Это говорит вам о том, что флажок в столбце Сегодня был снят в строке, которая изменилась. 
  5. Используя выпадающий список, скопируйте ссылку на данные этого значения.

Добавьте условное соединение Match

Следующий шаг - добавить соединение, чтобы проверить, соответствует ли значение текстовым значениям true (установлено) или false (снято). 

  1. В поле поиска введите Совпадение или разверните Утилиты > Условные соединения > Совпадение, чтобы найти соединение. 
  2. Перетащите соединение под модуль Получить строку и назовите его Сегодняшняя дата.

Этот узел состоит из трех компонентов: сам узел и два состояния-заполнителя. Вы можете найти больше состояний для перетаскивания в рабочий процесс в верхней части левого меню под Закрепленные элементы > Новое состояние.

Добавьте состояния в узел

  1. Перетащите новое состояние в заполнителе успех и назовите его истина
  2. Перетащите еще одно новое состояние в заполнителе неудача и назовите его ложь.

Добавьте ссылку на данные в узел

  1. Выберите узел Сегодняшняя дата, чтобы открыть панель настройки. 
  2. Вставьте ссылку, которую вы скопировали ранее, в поле Первое значение.
    Вставленное значение должно быть {{states.Get Row.smartsheet.get_row.row.cells.Today.value}}
  3. В поле Второе значение, введите слово истина
  4. Сохраните то, что вы создали до сих пор.

    Brandfolder Image
    Add data reference to the junction

Шаг 6: Настройте первый вызов API

Настройте профиль для ваших вызовов API

Чтобы получить данные прогноза погоды, вы сначала должны создать профиль для ваших вызовов API к Службе погоды США. Профили позволяют сохранять ключевую информацию о системных API, к которым вы хотите подключить свои рабочие процессы.

  1. В вашей учетной записи Bridge перейдите на вкладку Интеграции.
  2. Выберите утилиту Call API.
  3. Выберите Продолжить > Добавить в профили.

    Brandfolder Image
    Set up a profile for you API calls

     

  4. Введите имя профиля. Имя каждого профиля должно быть уникальным. Например: Погода в США.
  5. В поле Базовый URL введите https://api.weather.gov.
  6. Разверните выпадающее меню Заголовки:
    • В поле Ключ #1 введите User-Agent.
    • В поле Value #1 введите название вашей компании и адрес электронной почты, разделенные запятой.

      Служба погоды США требует это, чтобы они могли связаться с вами, если увидят неожиданную активность или поведение в своих журналах.

  7. Сохраните профиль.
  8. Вернитесь к рабочему процессу.

 

Шаг 3. Настройка модуля Make API Call в рабочем процессе

Первый вызов API определяет точку сетки местоположения, введенного в таблице.

  1. Используйте поле поиска, чтобы найти модуль Make API Call или разверните Utilities > Utility Functions> Make API Call.
  2. Перетащите его в рабочий процесс под состоянием true.
  3. В модуле Make API Call выберите нужный профиль из раскрывающегося списка.
  4. В поле Endpoint укажите следующие точки: points/{{states.Get Row.smartsheet.get_row.row.cells.Longitude.value}},{{states.Get Row.smartsheet.get_row.row.cells.Latitude.value}}.
  5. Установите в поле Method значение GET.
  6. Сохраните рабочий процесс.

    Brandfolder Image
    Set up the first API call

Ссылки на данные для вызова сетки.

URL выше создан для вас, так как понимание того, как работают запросы API, является необязательным для этого руководства. Этот URL ссылается на значения долготы и широты в строке, которая вызвала рабочий процесс.

Если вы хотите получить их, вам нужно снова запустить рабочий процесс. На этот раз вам нужно убедиться, что флажок установлен. Добавьте информацию в новую строку, а не используйте первую, и убедитесь, что дата установлена на сегодняшнюю дату, чтобы рабочий процесс пошел по левой ветке соединения.

Координаты

Служба погоды США требует максимум четыре десятичных знака для координат.

Обязательный шаг

Лучше всего иметь координаты, чтобы ввести их в поля Longitude и Latitude . Например, вы можете использовать 47.6174 и -122.2001, чтобы получить погоду для офиса Smartsheet в Белвью.


Шаг 7: Настройте второй вызов API.

Второй вызов API получает прогноз от службы погоды США на основе ранее найденных точек сетки. Чтобы это настроить, добавьте новое состояние и еще один модуль Make API Call в рабочий процесс. 

  1. Перетащите новое состояние из закрепленных элементов в верхней части левого меню и назовите его Получить прогноз. 
  2. Перетащите еще один модуль Make API Call под новое состояние.
  3. В модуле Make API Call выберите нужный профиль из раскрывающегося списка.
  4. В поле Endpoint укажите следующее: gridpoints/{{states.true.call_api.make_api_call.response.properties.gridId}}/{{states.true.call_api.make_api_call.response.properties.gridX}},{{states.true.call_api.make_api_call.response.properties.gridY}}/forecast
  5. Установите Метод на GET.
  6. Сохраните рабочий процесс.

    Brandfolder Image
    Set up the second API call

Ссылки на данные для вызова прогноза

Если вы хотите использовать ссылки на данные, указанные в вышеуказанном конечном пункте, запустите рабочий процесс снова. Убедитесь, что измененная или добавленная строка имеет сегодняшнюю дату, чтобы флажок изменился на отмеченный.

Когда вы создадите новую строку и сохраните таблицу, найдите последний запуск в журнале запусков и разверните предыдущий шаг: Вызов API: Make API Call. В разделе Output > properties найдите поля gridId, gridX, и gridY. Затем вы можете использовать эти ссылки в URL для вызова службы погоды.


Шаг 8: Настройка модуля Update Row

Теперь, когда вы можете получать данные о погоде с помощью рабочего процесса, последний шаг - обновить таблицу с прогнозом.

Добавьте идентификаторы таблицы и строки

  1. Запустите рабочий процесс снова. Убедитесь, что измененная или добавленная строка имеет сегодняшнюю дату, чтобы флажок изменился на отмеченный.
  2. Добавьте еще одно состояние под последним модулем вызова API и назовите его Обновить строку. 
  3. Найдите модуль Update Row или разверните Integrations > Smartsheet > Update Row.
  4. В журнале запусков разверните Триггер последнего запуска и найдите значения идентификатора таблицы и идентификатора строки .
  5. Используйте ссылки на данные, чтобы установить поля идентификатора таблицы и идентификатора строки для модуля Update Row.

Добавьте ссылку на детальные данные прогноза

  1. Вернитесь к журналу выполнения и разверните последний шаг (последний из двух модулей Make API Call). Данные Службы погоды США, включая семидневные прогнозы погоды, предоставляют широкий спектр информации. и дата 
  2. Найдите текущую погоду в Вывод > свойства > периоды > 0.
  3. Для этого рабочего процесса вы хотите использовать ссылку на детальный прогноз. Скопируйте ссылку на данные. 
  4. Снова откройте модуль Обновить строку и разверните раздел Ячейки . 
  5. Вставьте ссылку в поле Значение # . Вставленное значение должно быть: {{states.Get Forecast.call_api.make_api_call.response.properties.periods.0.detailedForecast}} 
  6. Введите столбец Прогноз погоды в поле Ключ #1.
  7. Сохраните рабочий процесс.

Если вы хотите убедиться, что рабочий процесс не завершится с ошибкой, если Служба погоды США не сможет вернуть информацию, вы можете изменить ссылку на данные в поле Значение # на: {{states.Get Forecast.call_api.make_api_call.response.properties.periods.0.detailedForecast||Не удалось получить данные о погоде}}
Это гарантирует, что модуль обновляет строку с текстом после символа '||', если в детальном прогнозе нет данных.

Brandfolder Image
Add detailed forecast data reference

Завершенный рабочий процесс

Ваш рабочий процесс запускается каждый раз, когда вы добавляете новую строку (либо идя вниз по левой, либо по правой ветке соединения). Он также запускается каждый раз сегодня, в дату, установленную в существующей строке. Столбец Прогноз погоды в вашей таблице автоматически заполняется, если рабочий процесс идет по левой ветке соединения или если установлен флажок Сегодня