{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":573496341,"defaultBranch":"main","name":"TTPForge","ownerLogin":"facebookincubator","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-12-02T15:47:28.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/19538647?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712254955.0","currentOid":""},"activityList":{"items":[{"before":"4e24ca5d88ba3708e8da31c1a9096068d650bd29","after":"5ae80162883543ecbfe95103e3fba3678867dfd7","ref":"refs/heads/main","pushedAt":"2024-04-05T15:36:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Update public README.md with project history (#495)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/495\n\nThere seems to be some confusion circulating on LinkedIn about the history of this project - adding clarification to the README.md\n\nReviewed By: CrimsonK1ng\n\nDifferential Revision: D55750812\n\nfbshipit-source-id: 4623bfa0d2a3577068fc0ad14acc5de8d27f24ce","shortMessageHtmlLink":"Update public README.md with project history (#495)"}},{"before":"cbddffef186ce56c1e9859cb9075aeb1e2f7ded2","after":"4e24ca5d88ba3708e8da31c1a9096068d650bd29","ref":"refs/heads/main","pushedAt":"2024-04-05T11:06:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"create ttp cmd not to fail if folder does not exists (#496)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/496\n\nThe create ttp cmd is failing if the folder where we want to create the new ttp does not exist:\n\n```\n./ttpforge create ttp ttps/nicola/my-ttp.yaml\nWARN No config file specified and default configuration file not found!\nWARN You probably want to run `ttpforge init`!\nWARN However, if you know what you are doing, then carry on :)\nERROR failed to run command:\n failed to create new TTP file: open ttps/nicola/my-ttp.yaml: no such file or directory\n\n```\n\nThis diff fixes the issue.\n\nReviewed By: d0n601\n\nDifferential Revision: D55757581\n\nfbshipit-source-id: 1ff904e347354c614b2d78b1167a6766fa2a81bf","shortMessageHtmlLink":"create ttp cmd not to fail if folder does not exists (#496)"}},{"before":null,"after":"3aee09eb974a51e23b132c586624335ef194a19d","ref":"refs/heads/export-D55757581","pushedAt":"2024-04-04T18:22:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"create ttp cmd not to fail if folder does not exists\n\nSummary:\nThe create ttp cmd is failing if the folder where we want to create the new ttp does not exist:\n\n```\n[ngiacchetta@devvm1745.lla0 /data/users/ngiacchetta/nicola]$ ./ttpforge create ttp ttps/nicola/my-ttp.yaml\nWARN No config file specified and default configuration file not found!\nWARN You probably want to run `ttpforge init`!\nWARN However, if you know what you are doing, then carry on :)\nERROR failed to run command:\n failed to create new TTP file: open ttps/nicola/my-ttp.yaml: no such file or directory\n\n```\n\nThis diff fixes the issue.\n\nDifferential Revision: D55757581","shortMessageHtmlLink":"create ttp cmd not to fail if folder does not exists"}},{"before":"c5adb53c26a7082ca43dcaec369be31c0b74c7e0","after":"cbddffef186ce56c1e9859cb9075aeb1e2f7ded2","ref":"refs/heads/main","pushedAt":"2024-04-01T22:14:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Validate UUIDs in YAML (#494)\n\nSummary:\nX-link: https://github.com/facebookincubator/ForgeArmory/pull/111\n\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/494\n\nAdding validation to check for UUIDs in TTP files if strict validation is specified.\n\nReviewed By: d3sch41n\n\nDifferential Revision: D54953656\n\nfbshipit-source-id: 792d6acb7bbe11e6da4ab8417534f6b108db3d04","shortMessageHtmlLink":"Validate UUIDs in YAML (#494)"}},{"before":"efc792751bc04a90109cd797d31f057934f3d38e","after":"c5adb53c26a7082ca43dcaec369be31c0b74c7e0","ref":"refs/heads/main","pushedAt":"2024-03-15T21:04:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add API Version and UUID to Example TTPs (#493)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/493\n\nModified each file within `example-ttps` to include the new `api_version` and `uuid` tags.\n\nReviewed By: d3sch41n\n\nDifferential Revision: D54961591\n\nfbshipit-source-id: 569ba05aa5e253a913cf02944ce964d751c48ff4","shortMessageHtmlLink":"Add API Version and UUID to Example TTPs (#493)"}},{"before":"a3b5ad81bf17e05dbc0f5448cdec07e40ad033b8","after":"efc792751bc04a90109cd797d31f057934f3d38e","ref":"refs/heads/main","pushedAt":"2024-03-13T23:28:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add `ttpforge create ttp` Cobra Command (#482)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/482\n\nProvide a convenient command for populating new metadata fields (api_version, uuid, requirements, etc) when creating new TTPS\n\nReviewed By: inesusvet\n\nDifferential Revision: D54027592\n\nfbshipit-source-id: 0b3c524ddfa81e34658e9d939bf6f41d401b1dd0","shortMessageHtmlLink":"Add ttpforge create ttp Cobra Command (#482)"}},{"before":"f134eb59679b9991d6fe14f4aa7b281d7e45175e","after":"a3b5ad81bf17e05dbc0f5448cdec07e40ad033b8","ref":"refs/heads/main","pushedAt":"2024-03-13T15:04:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Update run-all-ttp-tests.sh (#492)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/492\n\nUpdate script to iterate over command line arguments in order to pass multiple directories for validation.\n\nReviewed By: d3sch41n\n\nDifferential Revision: D54753268\n\nfbshipit-source-id: 6487485ded83fb6ef2a33bc7a162cd9ff831eb81","shortMessageHtmlLink":"Update run-all-ttp-tests.sh (#492)"}},{"before":"03792f38829662f4c031dd7895287b44c39c6684","after":null,"ref":"refs/heads/export-D54090822","pushedAt":"2024-03-12T20:43:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"inesusvet","name":"Ivan Styazhkin","path":"/inesusvet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1741851?s=80&v=4"}},{"before":"35d0f83bfcf61a137d3355ce8f3d98c12850059a","after":"f134eb59679b9991d6fe14f4aa7b281d7e45175e","ref":"refs/heads/main","pushedAt":"2024-03-12T20:28:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Action Method Order Constitency Pass (#491)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/491\n\nEach action having its methods in a different order was driving me crazy. Small cleanup to generally try to order them by execution order.\n\nReviewed By: inesusvet\n\nDifferential Revision: D54090822\n\nfbshipit-source-id: 9cfb5611684a60a314c0c636cefacaabcc14c711","shortMessageHtmlLink":"Action Method Order Constitency Pass (#491)"}},{"before":"bdf432f618646b9d6f8e50c5995d647322d522cd","after":"03792f38829662f4c031dd7895287b44c39c6684","ref":"refs/heads/export-D54090822","pushedAt":"2024-03-12T18:26:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inesusvet","name":"Ivan Styazhkin","path":"/inesusvet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1741851?s=80&v=4"},"commit":{"message":"Action Method Order Constitency Pass (#491)\n\nSummary:\n\nEach action having its methods in a different order was driving me crazy. Small cleanup to generally try to order them by execution order.\n\nReviewed By: inesusvet\n\nDifferential Revision: D54090822","shortMessageHtmlLink":"Action Method Order Constitency Pass (#491)"}},{"before":"06e44dcdaefc113a81cae619d2ffaaaa627f5714","after":"bdf432f618646b9d6f8e50c5995d647322d522cd","ref":"refs/heads/export-D54090822","pushedAt":"2024-03-12T17:54:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inesusvet","name":"Ivan Styazhkin","path":"/inesusvet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1741851?s=80&v=4"},"commit":{"message":"Action Method Order Constitency Pass\n\nSummary: Each action having its methods in a different order was driving me crazy. Small cleanup to generally try to order them by execution order.\n\nReviewed By: inesusvet\n\nDifferential Revision: D54090822","shortMessageHtmlLink":"Action Method Order Constitency Pass"}},{"before":"9d547bfc2cd8e553099e9c0f5ee359a158c71e64","after":"35d0f83bfcf61a137d3355ce8f3d98c12850059a","ref":"refs/heads/main","pushedAt":"2024-03-01T12:32:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Follow up changes\n\nSummary:\nRename file, actualize success message.\n\nReference to open issue about file naming in golang projects\nhttps://github.com/golang/go/issues/36060\n\nReviewed By: l50\n\nDifferential Revision: D54360635\n\nfbshipit-source-id: 1631f876273e89baa53755254fdc57d7d662dd4f","shortMessageHtmlLink":"Follow up changes"}},{"before":"80219a31b33f313c32ddf8880456cf225dd99734","after":"d9621a85b92cbd4171e6aa945f461b51f9e68aff","ref":"refs/heads/export-D54360635","pushedAt":"2024-03-01T09:52:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inesusvet","name":"Ivan Styazhkin","path":"/inesusvet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1741851?s=80&v=4"},"commit":{"message":"Follow up changes\n\nSummary:\nRename file, actualize success message.\n\nReference to open issue about file naming in golang projects\nhttps://github.com/golang/go/issues/36060\n\nReviewed By: l50\n\nDifferential Revision: D54360635","shortMessageHtmlLink":"Follow up changes"}},{"before":"88d5d66665030d81083b99a65a83dc7ab6e115b1","after":"06e44dcdaefc113a81cae619d2ffaaaa627f5714","ref":"refs/heads/export-D54090822","pushedAt":"2024-02-29T19:41:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inesusvet","name":"Ivan Styazhkin","path":"/inesusvet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1741851?s=80&v=4"},"commit":{"message":"Action Method Order Constitency Pass\n\nSummary: Each action having its methods in a different order was driving me crazy. Small cleanup to generally try to order them by execution order.\n\nReviewed By: inesusvet\n\nDifferential Revision: D54090822","shortMessageHtmlLink":"Action Method Order Constitency Pass"}},{"before":null,"after":"88d5d66665030d81083b99a65a83dc7ab6e115b1","ref":"refs/heads/export-D54090822","pushedAt":"2024-02-29T18:02:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Action Method Order Constitency Pass\n\nSummary: Each action having its methods in a different order was driving me crazy. Small cleanup to generally try to order them by execution order.\n\nReviewed By: inesusvet\n\nDifferential Revision: D54090822","shortMessageHtmlLink":"Action Method Order Constitency Pass"}},{"before":"ee90ebcf3309818c2138be91626fb2312c709c6e","after":"80219a31b33f313c32ddf8880456cf225dd99734","ref":"refs/heads/export-D54360635","pushedAt":"2024-02-29T17:38:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"inesusvet","name":"Ivan Styazhkin","path":"/inesusvet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1741851?s=80&v=4"},"commit":{"message":"Follow up changes\n\nSummary:\nRename file, actualize success message.\n\nReference to open issue about file naming in golang projects\nhttps://github.com/golang/go/issues/36060\n\nDifferential Revision: D54360635","shortMessageHtmlLink":"Follow up changes"}},{"before":null,"after":"ee90ebcf3309818c2138be91626fb2312c709c6e","ref":"refs/heads/export-D54360635","pushedAt":"2024-02-29T16:40:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"inesusvet","name":"Ivan Styazhkin","path":"/inesusvet","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1741851?s=80&v=4"},"commit":{"message":"Follow up changes\n\nSummary: Rename file, actualize success message\n\nDifferential Revision: D54360635","shortMessageHtmlLink":"Follow up changes"}},{"before":"ff176b6a2441c412b611dab4e362b3846dac2b2b","after":"9d547bfc2cd8e553099e9c0f5ee359a158c71e64","ref":"refs/heads/main","pushedAt":"2024-02-29T14:25:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Capture OS signals while steps executed and perform cleanups as graceful shutdown\n\nSummary:\nHere is my ~~first~~ new attempt to use channels to keep track of step results, errors or OS signals.\n\n# Design overview\nWe could use channels to communicate results and errors produced from TTP steps executed. Having this, we might also check additional channel to check if an OS signal was received.\n\nThis requires changes in the following parts:\n0. Steps execution\n0. Step results retrieving\n0. Clean up execution for steps completed only\n0. Sub-TTP processing\n 0. Proper setup of execution context object per sub-ttp\n 0. Postponing clean up execution till all steps of root TTP are completed or an error encountered\n\nResolves https://github.com/facebookincubator/TTPForge/issues/476\n\nReviewed By: d3sch41n\n\nDifferential Revision: D54117726\n\nfbshipit-source-id: aed5abe03534679f0c74c542e0607607ac149a45","shortMessageHtmlLink":"Capture OS signals while steps executed and perform cleanups as grace…"}},{"before":"93dbfa413f33a17fb1fea99587981c14398511af","after":"ff176b6a2441c412b611dab4e362b3846dac2b2b","ref":"refs/heads/main","pushedAt":"2024-02-28T17:50:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Update go mods\n\nSummary: - Addresses Dependabot alert #3\n\nReviewed By: d0n601\n\nDifferential Revision: D54311478\n\nfbshipit-source-id: 0666c9a34092195a052f409af9ba63d4badc30b6","shortMessageHtmlLink":"Update go mods"}},{"before":"cc588000427cdbcbcd7c5378a4d2fa9830b8e1dd","after":"93dbfa413f33a17fb1fea99587981c14398511af","ref":"refs/heads/main","pushedAt":"2024-02-23T22:39:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Update CODEOWNERS\n\nSummary:\nUpdate CODEOWNERS based on new roles\n\nhttps://www.internalfb.com/intern/wiki/Offensive_Security_Group/Projects/TTPForge_0/\n\nReviewed By: CrimsonK1ng\n\nDifferential Revision: D54135823\n\nfbshipit-source-id: d7eaafdf5ee57e268da834fed4842f1c948a572e","shortMessageHtmlLink":"Update CODEOWNERS"}},{"before":"cf7d1d86429552534d82245c0ecee0ce9ee4fd20","after":"cc588000427cdbcbcd7c5378a4d2fa9830b8e1dd","ref":"refs/heads/main","pushedAt":"2024-02-23T18:03:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Refactor Useful Test Functions from copypath_test\n\nSummary:\n* Shoutout to d0n601 for these useful test fixture creation functions\n* I refactored them into the testutils package so that they can power subsequent SubTTP tests and help us get a handle on some working-directory related bugs.\n* Also added some tests for the testutil functions themselves just to be extra rigorous\n\nReviewed By: d0n601\n\nDifferential Revision: D54116575\n\nfbshipit-source-id: df988e7f7de0ee11b8d36c5582a210fd927998d3","shortMessageHtmlLink":"Refactor Useful Test Functions from copypath_test"}},{"before":"48b86558f73ea7cc1ec8fc1d9767d8e11ca16452","after":"cf7d1d86429552534d82245c0ecee0ce9ee4fd20","ref":"refs/heads/main","pushedAt":"2024-02-23T04:27:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Remove Args from TTPExecutionConfig (#483)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/483\n\nryanstewart helpfully flagged a lot of tech debt for my attention - the entire use of Args in the TTPExecutionConfig structure was a holdover from the days before we used native golang templates. Since all arg expansion is performed at load time, we do not need to include the argument values in the runtime TTPExecutionContext\n\nThis will simplify questions currently under discussion about how to handle TTPExecutionContext properly for SubTTPs\n\nDifferential Revision: D54087784\n\nfbshipit-source-id: b3a65decb46f7c082293e5a68f14711f8a8934bf","shortMessageHtmlLink":"Remove Args from TTPExecutionConfig (#483)"}},{"before":"e07461faa75b0ede082feb67946c898018b8a08f","after":"48b86558f73ea7cc1ec8fc1d9767d8e11ca16452","ref":"refs/heads/main","pushedAt":"2024-02-21T15:40:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Example of path_exists Post-Execution Check (#480)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/480\n\nHandling a quick request that I didn't have time for before heading out, I hate loose ends\n\n* Example TTP utilizing the path_exists post-execution check\n* Documentation to follow that will render this YAML as a github code snippet once it lands\n\nReviewed By: nicolagiacchetta\n\nDifferential Revision: D52914073\n\nfbshipit-source-id: 0e83545cf315cdd9ed2f5cdaeaab2a5387086919","shortMessageHtmlLink":"Example of path_exists Post-Execution Check (#480)"}},{"before":"d912078663d1807615e1b7efe5d03ddd5a9ea596","after":"e07461faa75b0ede082feb67946c898018b8a08f","ref":"refs/heads/main","pushedAt":"2024-01-04T17:17:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Add Remove Path To Action Candidates (#477)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/477\n\nThe `remove_path` action was usable as [documented](https://github.com/facebookincubator/TTPForge/blob/d912078663d1807615e1b7efe5d03ddd5a9ea596/docs/foundations/actions/remove_path.md).\n\nThis change includes the `remove_path` step inside of the `ParseAction` function in order to make it callable via YAML templates as stated in the documentation.\n\nReviewed By: d3sch41n\n\nDifferential Revision: D52525186\n\nfbshipit-source-id: bebbe9262b3a26cae58716ee096b7122fe57eee4","shortMessageHtmlLink":"Add Remove Path To Action Candidates (#477)"}},{"before":"8347c0a416923593c207a3bd4dfabbd22ffe87db","after":null,"ref":"refs/heads/export-D51872385","pushedAt":"2023-12-09T15:21:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"}},{"before":"919ae1af1a75c347db3a14b4f45dbb818e5e2bfa","after":null,"ref":"refs/heads/export-D51827325","pushedAt":"2023-12-09T15:21:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"}},{"before":"fbc0e576a3a89033d7f0ddbf22ed08b19c8ead0d","after":"d912078663d1807615e1b7efe5d03ddd5a9ea596","ref":"refs/heads/main","pushedAt":"2023-12-08T19:21:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"TTP Testing: Add Default Dry-Run Test Case (#475)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/475\n\n* Buck will now validate all TTP schema fields (requirements, arguments, metadata, etc) for TTPForge and ForgeArmory. It will validate `steps:` where possible, though explicit test case definition is required in some cases\n* Buck will also run all integration tests defined with the TTP `tests:` feature for both TTPForge and ForgeArmory\n* TTPForge will auto-generate a dry-run test case for every TTP that does not need arguments specified.\n* This replaces the schema validation prototype previously implemented in ForgeArmory, as with the `--dry-run` flag that I implemented previously we now can validate directly against the TTPForge source-of-truth schema without any need for synchronization to an external schema.\n\nReviewed By: nicolagiacchetta\n\nDifferential Revision: D51896839\n\nfbshipit-source-id: fcfaf8da402382766ac994f83f0e394540e625c9","shortMessageHtmlLink":"TTP Testing: Add Default Dry-Run Test Case (#475)"}},{"before":"ce5561457f6d9a6f61cf3b6ed0b3ea69a32550eb","after":"fbc0e576a3a89033d7f0ddbf22ed08b19c8ead0d","ref":"refs/heads/main","pushedAt":"2023-12-06T05:10:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix GitHub embed link to `copy_path` action example documentation. (#474)\n\nSummary:\nPull Request resolved: https://github.com/facebookincubator/TTPForge/pull/474\n\nFollow up to D51827325, which updated the documentation to include the copy_path action and examples. This diff updates the example yaml to use GitHub snippets as opposed to hard coded yaml.\n\nReviewed By: d3sch41n\n\nDifferential Revision: D51872385\n\nfbshipit-source-id: c001d80dda6e536bd9309d2b371fb4d89f9786cf","shortMessageHtmlLink":"Fix GitHub embed link to copy_path action example documentation. (#474"}},{"before":"c81e3ebad4d52d56221edec27669e8968288615a","after":"8347c0a416923593c207a3bd4dfabbd22ffe87db","ref":"refs/heads/export-D51872385","pushedAt":"2023-12-06T04:21:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"d0n601","name":"Ryan Kozak","path":"/d0n601","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8961705?s=80&v=4"},"commit":{"message":"Fix GitHub embed link to `copy_path` action example documentation. (#474)\n\nSummary:\n\nFollow up to D51827325, which updated the documentation to include the copy_path action and examples. This diff updates the example yaml to use GitHub snippets as opposed to hard coded yaml.\n\nReviewed By: d3sch41n\n\nDifferential Revision: D51872385","shortMessageHtmlLink":"Fix GitHub embed link to copy_path action example documentation. (#474"}},{"before":null,"after":"c81e3ebad4d52d56221edec27669e8968288615a","ref":"refs/heads/export-D51872385","pushedAt":"2023-12-06T03:34:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6422482?s=80&v=4"},"commit":{"message":"Fix GitHub embed link to `copy_path` action example documentation.\n\nSummary: Follow up to D51827325, which updated the documentation to include the copy_path action and examples. This diff updates the example yaml to use GitHub snippets as opposed to hard coded yaml.\n\nReviewed By: d3sch41n\n\nDifferential Revision: D51872385","shortMessageHtmlLink":"Fix GitHub embed link to copy_path action example documentation."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEKQdD0gA","startCursor":null,"endCursor":null}},"title":"Activity · facebookincubator/TTPForge"}