Developer Relations ツール: Zapier

Zapier サブスクリプション

私たちは、GitLab に関するメンションや swag ストアの注文などを転送するタスクを自動化するために Zapier を使用しています。

Zapier のサブスクリプションは Team プラン で運用されており、GitLab チームと共有されています。

Zapier アクセス

  • URL: https://zapier.com
  • アカウント: 1Password の Zapier ボールトで共有 Zapier アカウントを検索してください。当該ボールトにアクセスできない場合は、アクセスリクエスト を提出してください。

ログイン後は、Developer Relations フォルダーで Zap のアクセス、編集、作成が可能です。

現行の Zap

Developer Relations フォルダー で有効化されている Zap の一覧です。

Zap説明関連ツール
新規ブログを GitLab フォーラムに投稿GitLab ブログ記事を 新しいフォーラムトピック として投稿about.gitlab.com/blog, Discourse

Developer Advocacy 用の Zap

これらの Zap は、Zapier 内の Developer Relations のサブフォルダーである Developer Advocacy フォルダー に整理されています。

Zap説明関連ツール
新規ブログ記事 - GitLabGitLab ブログの RSS フィードを読み込み、#developer-advocacy-updates チャンネルへ投稿します。GitLab Blog, Slack
新規ブログ記事 - GitHubGitHub ブログの RSS フィードを読み込み、#developer-advocacy-updates チャンネルへ投稿します。追加の zap は競合分析用 Slack チャンネルへ投稿します。GitHub Blog, Slack
新規ブログ記事 - CNCFCNCF ブログの RSS フィードを読み込み、#developer-advocacy-updates チャンネルへ投稿します。CNCF Blog, Slack
新規ステータスアップデート - DiscourseDiscourse ステータスの RSS フィードを読み込み、#developer-advocacy-updates チャンネルへ投稿します。Discourse status page, Slack
Discourse フォーラム用の Zap

これらの Zap は、新製品ローンチをサポートするために自動モニタリングを行います。

Zap説明関連ツール
catalog または component を含む新規フォーラムトピックDiscourse フォーラム RSS フィード https://forum.gitlab.com/latest.rss を読み込み、#f_ci_catalog チャンネルへ投稿します。Discourse forum, Slack
GitLab Duo カテゴリの新規フォーラムトピックDiscourse フォーラム RSS フィード https://forum.gitlab.com/c/gitlab-duo.rss を読み込み、#gitlab-duo-forum-posts チャンネルへ投稿します。Discourse forum, Slack
Hacker News 用の Zap

これらの Zap は、Zapier 内の Developer Relations のサブフォルダーである Developer Advocacy フォルダー に整理されています。

Zap説明関連ツール
Hackernews: フロントページ言及の Slack 通知: GitLabHackernews: GitLab フロントページのストーリーを #dev-advocacy-team Slack チャンネルへ。Hacker News 対応ワークフロー URL を追加します。HackerNews, Slack
Hackernews: フロントページ言及の Slack 通知: Open CoreHackernews: Open Core フロントページのストーリーを #dev-advocacy-team Slack チャンネルへ。Hacker News 対応ワークフロー URL を追加します。HackerNews, Slack
Hackernews: 言及の Slack 通知: GitLabHackernews: GitLab の言及を #hn-mentions Slack チャンネルへHackerNews, Slack
Hackernews: 言及の Slack 通知: DevOps PlatformHackernews: DevOps Platform の言及を #hn-mentions Slack チャンネルへHackerNews, Slack

これらの Zap は Hacker News 用の Algolia 検索 API をポーリングし、特定の URL パラメーターを追加することで以下を実現します:

  • 投稿内の文字列を検索する: ?query="open%20core"
  • トピックが Hacker News のフロントページに掲載された場合にタグでフィルタリング: &tags=front_page

空白を含む文字列を検索するには、クエリパラメーターをクォートで囲む必要があります。例: https://hn.algolia.com/api/v1/search?&query=%22open%20core%22&tags=front_page

その他の API URL の例:

gitlab-blog フォーラムボット

gitlab-blog ユーザーは、新しい GitLab ブログCommunity カテゴリに新しいトピックとして自動投稿するために使用されます。このプロセスは Zapier によって制御されます。Zapier は https://about.gitlab.com/atom.xml のブログ RSS フィードを読み込み、新しいエントリごとに admin API キーと gitlab-blog ユーザーを使用して新しいトピックを投稿します。

gitlab-blog の認証情報と admin API キーは、1Password の Marketing ボールトに保存されています。管理者はログインなしで Discourse 内のユーザーを直接編集できます。

トラブルシューティング

Slack メッセージに Hacker News のデータが含まれていない

Zap を開いて Send Channel Message in Slack アクションを確認します。Message Text セクションにエラー付きのプレースホルダー変数が含まれている場合、データソースを確認してください。Zapier でのデータ取得が前のステップで壊れている可能性があります。たとえば Retrieve Polls in Webhooks by Zapier などです。

例: Open Core Hacker News フロントページの Zap ではデータフィールドが提供されておらず、URL https://hn.algolia.com/api/v1/search?&query="open+core"&tags=front_page のフィールドを更新しても、続行できる結果レコードは出てきません。

修正方法: 検索を一時的に Hacker News フロントページ に現在掲載されている値に変更し、Zapier でフィールドを更新します。Slack メッセージの変数プレースホルダーを修正し、Zap を公開します。直後に再度 Zap を編集し、検索クエリを元の値(open+core)に戻します。