n8n ワークフローを Bitbucket にバックアップ
中級
これはOther分野の自動化ワークフローで、9個のノードを含みます。主にIf, N8n, Set, Code, Waitなどのノードを使用。 n8n 作業フローを Bitbucket にバックアップ
前提条件
- •ターゲットAPIの認証情報が必要な場合あり
カテゴリー
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "23GPrqZjHnIVvTEa",
"meta": {
"instanceId": "[instance id auto generated]",
"templateCredsSetupCompleted": true
},
"name": "Backup n8n Workflows to Bitbucket",
"tags": [],
"nodes": [
{
"id": "b3363b9d-ea6e-47b7-99f9-f48a21805886",
"name": "待機時間の計算",
"type": "n8n-nodes-base.code",
"position": [
1400,
-260
],
"parameters": {
"jsCode": "// Get all input items and ensure we have data\nif ($input.all().length === 0 || !$input.all()[0].headers) {\n // If no headers available, return default wait time\n return { waitTime: 1 };\n}\n\n// Check rate limit headers from previous request\nconst headers = $input.all()[0].headers;\nlet waitTime = 1; // Default 1 second\n\n// Check if we have rate limit information (safely)\nconst remaining = parseInt(headers['x-ratelimit-remaining']) || null;\nconst reset = parseInt(headers['x-ratelimit-reset']) || null;\n\n// Only adjust wait time if we have valid rate limit info\nif (remaining !== null && reset !== null) {\n // If we're running low on requests, calculate a longer wait time\n if (remaining < 100) {\n // Calculate seconds until reset\n const now = Math.floor(Date.now() / 1000);\n const timeUntilReset = reset - now;\n \n // Spread remaining requests over time until reset\n // Add 10% buffer to be safe\n waitTime = Math.ceil((timeUntilReset / remaining) * 1.1);\n } else if (remaining < 500) {\n // Start slowing down earlier\n waitTime = 2;\n }\n}\n\n// Cap maximum wait time at 30 seconds\nwaitTime = Math.min(waitTime, 30);\n\nreturn { waitTime };"
},
"typeVersion": 2
},
{
"id": "3cbc2287-b36f-4839-87b7-be4a7eadcf79",
"name": "毎日午前2時に実行",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-120,
-20
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 2
}
]
}
},
"typeVersion": 1.2
},
{
"id": "09b396aa-61e8-4631-8aae-7126fbd609e6",
"name": "全てのワークフローを取得",
"type": "n8n-nodes-base.n8n",
"position": [
320,
-20
],
"parameters": {
"filters": {},
"requestOptions": {}
},
"credentials": {
"n8nApi": {
"id": "[n8n-api-credential-id]",
"name": "n8n Development Environment"
}
},
"typeVersion": 1
},
{
"id": "c46b50cd-432f-4714-ac68-b6f92663b592",
"name": "ワークフローをループ処理",
"type": "n8n-nodes-base.splitInBatches",
"position": [
540,
-20
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "2a27e85d-51c0-4f45-a7d6-6422fc8a439b",
"name": "Bitbucketから既存ワークフローを取得",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
780,
-20
],
"parameters": {
"url": "=https://api.bitbucket.org/2.0/repositories/{{ $('Set Bitbucket Workspace & Repository').item.json.WorkspaceSlug }}/{{ $('Set Bitbucket Workspace & Repository').item.json.RepositorySlug }}/src/main/{{ $json.name.replace(/[^a-zA-Z0-9]/g, '-').toLowerCase() }}",
"options": {
"response": {
"response": {
"fullResponse": true
}
},
"allowUnauthorizedCerts": true
},
"authentication": "genericCredentialType",
"genericAuthType": "httpBasicAuth"
},
"credentials": {
"httpBasicAuth": {
"id": "[bitbucket-credential-id]",
"name": "Bitbucket"
}
},
"retryOnFail": false,
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "eeb52f03-dd60-46ae-ad86-1cabf7f6c20f",
"name": "新規または変更済み?",
"type": "n8n-nodes-base.if",
"position": [
980,
-20
],
"parameters": {
"options": {
"ignoreCase": true
},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": false,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "2d5da90e-0f1d-436b-84d4-d82deaaa4b58",
"operator": {
"type": "number",
"operation": "equals"
},
"leftValue": "={{ $json.error.status }}",
"rightValue": 404
},
{
"id": "b7b9a48d-8954-4cc4-bf7a-ab30439ad930",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $('Get Existing Worfklow from Bitbucket').item.json.data }}",
"rightValue": "={{ JSON.stringify($('Loop Workflows').item.json, null, 2) }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "04400827-d331-4ee2-8a67-1238ea2dc969",
"name": "ワークフローをBitbucketにアップロード",
"type": "n8n-nodes-base.httpRequest",
"position": [
1200,
-260
],
"parameters": {
"url": "=https://api.bitbucket.org/2.0/repositories/{{ $('Set Bitbucket Workspace & Repository').item.json.WorkspaceSlug }}/{{ $('Set Bitbucket Workspace & Repository').item.json.RepositorySlug }}/src",
"method": "POST",
"options": {
"redirect": {
"redirect": {
"maxRedirects": 5
}
},
"response": {
"response": {
"fullResponse": true
}
}
},
"sendBody": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "message",
"value": "={{ $('Loop Workflows').item.json.name + ' [' + $now.format('yyyy-MM-dd HH:mm:ss') +']' }}"
},
{
"name": "={{ $('Loop Workflows').item.json.name.replace(/[^a-zA-Z0-9]/g, '-').toLowerCase() }}",
"value": "={{ JSON.stringify($('Loop Workflows').item.json, null, 2) }}"
}
]
},
"genericAuthType": "httpBasicAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/x-www-form-urlencoded"
}
]
}
},
"credentials": {
"httpBasicAuth": {
"id": "[bitbucket-credential-id]",
"name": "Bitbucket"
}
},
"typeVersion": 4.2
},
{
"id": "5f198366-3bcf-4a96-ae60-da7cc9403a6f",
"name": "レート制限回避のための待機",
"type": "n8n-nodes-base.wait",
"position": [
1620,
-20
],
"webhookId": "793d7525-d166-4487-a71f-d48da7c66662",
"parameters": {
"amount": "={{ $json.waitTime || 1 }}"
},
"typeVersion": 1.1
},
{
"id": "adc37b33-c5af-4a44-ba87-9806efe25603",
"name": "Bitbucketワークスペース&リポジトリの設定",
"type": "n8n-nodes-base.set",
"position": [
100,
-20
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "37f2ddba-188d-4bc1-98b3-5c5fa31d2d62",
"name": "WorkspaceSlug",
"type": "string",
"value": "[workspace-slug]"
},
{
"id": "303f25f0-bba8-4977-8f4f-33961e2e7e8c",
"name": "RepositorySlug",
"type": "string",
"value": "[repository-slug]"
}
]
}
},
"typeVersion": 3.4
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "f21887f2-e885-42c6-a934-4f7617e267dd",
"connections": {
"c46b50cd-432f-4714-ac68-b6f92663b592": {
"main": [
[],
[
{
"node": "2a27e85d-51c0-4f45-a7d6-6422fc8a439b",
"type": "main",
"index": 0
}
]
]
},
"eeb52f03-dd60-46ae-ad86-1cabf7f6c20f": {
"main": [
[
{
"node": "04400827-d331-4ee2-8a67-1238ea2dc969",
"type": "main",
"index": 0
}
],
[
{
"node": "5f198366-3bcf-4a96-ae60-da7cc9403a6f",
"type": "main",
"index": 0
}
]
]
},
"09b396aa-61e8-4631-8aae-7126fbd609e6": {
"main": [
[
{
"node": "c46b50cd-432f-4714-ac68-b6f92663b592",
"type": "main",
"index": 0
}
]
]
},
"3cbc2287-b36f-4839-87b7-be4a7eadcf79": {
"main": [
[
{
"node": "adc37b33-c5af-4a44-ba87-9806efe25603",
"type": "main",
"index": 0
}
]
]
},
"b3363b9d-ea6e-47b7-99f9-f48a21805886": {
"main": [
[
{
"node": "5f198366-3bcf-4a96-ae60-da7cc9403a6f",
"type": "main",
"index": 0
}
]
]
},
"5f198366-3bcf-4a96-ae60-da7cc9403a6f": {
"main": [
[
{
"node": "c46b50cd-432f-4714-ac68-b6f92663b592",
"type": "main",
"index": 0
}
]
]
},
"04400827-d331-4ee2-8a67-1238ea2dc969": {
"main": [
[
{
"node": "b3363b9d-ea6e-47b7-99f9-f48a21805886",
"type": "main",
"index": 0
}
]
]
},
"2a27e85d-51c0-4f45-a7d6-6422fc8a439b": {
"main": [
[
{
"node": "eeb52f03-dd60-46ae-ad86-1cabf7f6c20f",
"type": "main",
"index": 0
}
]
]
},
"adc37b33-c5af-4a44-ba87-9806efe25603": {
"main": [
[
{
"node": "09b396aa-61e8-4631-8aae-7126fbd609e6",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - その他
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Bluesky 上の新しいフォロワーに対して DMs で自動メッセージを送信する
Baserow を使用して、Bluesky の新規フォロワーに自動で Dm を送信する
If
Set
Code
+
If
Set
Code
26 ノードGareth B. Davies
マーケティング
AI エージェント レストラン [テンプレート]
🤖 WhatsApp、Instagram、MessengerのAIレストランアシスタント
If
N8n
Set
+
If
N8n
Set
239 ノードAmanda Benks
その他
ワークフローを Gitea 上の git リポジトリにバックアップ
ワークフローを Gitea の git リポジトリへバックアップ
If
N8n
Set
+
If
N8n
Set
20 ノードOctoleo
その他
GitHubへワークフローをバックアップ(サブフォルダー)
GitHub へのバックアップ ワークフロー (サブフォルダー)
If
N8n
Set
+
If
N8n
Set
25 ノードNazmy
その他
GitHubへワークフローをバックアップ
ワークフローを GitHub にバックアップする
If
N8n
Set
+
If
N8n
Set
23 ノードSolomon
その他
Blueskyでトレンドを生成する
Blueskyでトピックを作成する
Set
Code
Wait
+
Set
Code
Wait
20 ノードGareth B. Davies
マーケティング
ワークフロー情報
難易度
中級
ノード数9
カテゴリー1
ノードタイプ8
作成者
Gareth B. Davies
@garethbdaviesAPI/AI/Automation Coach with 30 years experience helping teams build sustainable, efficient processes and systems. Join my Automate 30 for 30 live cohort and course to reclaim your time.
外部リンク
n8n.ioで表示 →
このワークフローを共有