{"action":"closed","issue":{"url":"https://api.github.com/repos/GaurangTandon/ProKeys/issues/187","repository_url":"https://api.github.com/repos/GaurangTandon/ProKeys","labels_url":"https://api.github.com/repos/GaurangTandon/ProKeys/issues/187/labels{/name}","comments_url":"https://api.github.com/repos/GaurangTandon/ProKeys/issues/187/comments","events_url":"https://api.github.com/repos/GaurangTandon/ProKeys/issues/187/events","html_url":"https://github.com/GaurangTandon/ProKeys/issues/187","id":282430010,"node_id":"MDU6SXNzdWUyODI0MzAwMTA=","number":187,"title":"Embedded snippets","user":{"login":"GaurangTandon","id":6308683,"node_id":"MDQ6VXNlcjYzMDg2ODM=","avatar_url":"https://avatars1.githubusercontent.com/u/6308683?v=4","gravatar_id":"","url":"https://api.github.com/users/GaurangTandon","html_url":"https://github.com/GaurangTandon","followers_url":"https://api.github.com/users/GaurangTandon/followers","following_url":"https://api.github.com/users/GaurangTandon/following{/other_user}","gists_url":"https://api.github.com/users/GaurangTandon/gists{/gist_id}","starred_url":"https://api.github.com/users/GaurangTandon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GaurangTandon/subscriptions","organizations_url":"https://api.github.com/users/GaurangTandon/orgs","repos_url":"https://api.github.com/users/GaurangTandon/repos","events_url":"https://api.github.com/users/GaurangTandon/events{/privacy}","received_events_url":"https://api.github.com/users/GaurangTandon/received_events","type":"User","site_admin":false},"labels":[{"id":997850297,"node_id":"MDU6TGFiZWw5OTc4NTAyOTc=","url":"https://api.github.com/repos/GaurangTandon/ProKeys/labels/approved","name":"approved","color":"0a6099","default":false},{"id":231025988,"node_id":"MDU6TGFiZWwyMzEwMjU5ODg=","url":"https://api.github.com/repos/GaurangTandon/ProKeys/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":999499322,"node_id":"MDU6TGFiZWw5OTk0OTkzMjI=","url":"https://api.github.com/repos/GaurangTandon/ProKeys/labels/other-macros","name":"other-macros","color":"47ced3","default":false},{"id":996264439,"node_id":"MDU6TGFiZWw5OTYyNjQ0Mzk=","url":"https://api.github.com/repos/GaurangTandon/ProKeys/labels/snippet-text","name":"snippet-text","color":"dc42ed","default":false}],"state":"closed","locked":false,"assignee":{"login":"GaurangTandon","id":6308683,"node_id":"MDQ6VXNlcjYzMDg2ODM=","avatar_url":"https://avatars1.githubusercontent.com/u/6308683?v=4","gravatar_id":"","url":"https://api.github.com/users/GaurangTandon","html_url":"https://github.com/GaurangTandon","followers_url":"https://api.github.com/users/GaurangTandon/followers","following_url":"https://api.github.com/users/GaurangTandon/following{/other_user}","gists_url":"https://api.github.com/users/GaurangTandon/gists{/gist_id}","starred_url":"https://api.github.com/users/GaurangTandon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GaurangTandon/subscriptions","organizations_url":"https://api.github.com/users/GaurangTandon/orgs","repos_url":"https://api.github.com/users/GaurangTandon/repos","events_url":"https://api.github.com/users/GaurangTandon/events{/privacy}","received_events_url":"https://api.github.com/users/GaurangTandon/received_events","type":"User","site_admin":false},"assignees":[{"login":"GaurangTandon","id":6308683,"node_id":"MDQ6VXNlcjYzMDg2ODM=","avatar_url":"https://avatars1.githubusercontent.com/u/6308683?v=4","gravatar_id":"","url":"https://api.github.com/users/GaurangTandon","html_url":"https://github.com/GaurangTandon","followers_url":"https://api.github.com/users/GaurangTandon/followers","following_url":"https://api.github.com/users/GaurangTandon/following{/other_user}","gists_url":"https://api.github.com/users/GaurangTandon/gists{/gist_id}","starred_url":"https://api.github.com/users/GaurangTandon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GaurangTandon/subscriptions","organizations_url":"https://api.github.com/users/GaurangTandon/orgs","repos_url":"https://api.github.com/users/GaurangTandon/repos","events_url":"https://api.github.com/users/GaurangTandon/events{/privacy}","received_events_url":"https://api.github.com/users/GaurangTandon/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/GaurangTandon/ProKeys/milestones/10","html_url":"https://github.com/GaurangTandon/ProKeys/milestone/10","labels_url":"https://api.github.com/repos/GaurangTandon/ProKeys/milestones/10/labels","id":3518495,"node_id":"MDk6TWlsZXN0b25lMzUxODQ5NQ==","number":10,"title":"3.3.0","description":"","creator":{"login":"GaurangTandon","id":6308683,"node_id":"MDQ6VXNlcjYzMDg2ODM=","avatar_url":"https://avatars1.githubusercontent.com/u/6308683?v=4","gravatar_id":"","url":"https://api.github.com/users/GaurangTandon","html_url":"https://github.com/GaurangTandon","followers_url":"https://api.github.com/users/GaurangTandon/followers","following_url":"https://api.github.com/users/GaurangTandon/following{/other_user}","gists_url":"https://api.github.com/users/GaurangTandon/gists{/gist_id}","starred_url":"https://api.github.com/users/GaurangTandon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GaurangTandon/subscriptions","organizations_url":"https://api.github.com/users/GaurangTandon/orgs","repos_url":"https://api.github.com/users/GaurangTandon/repos","events_url":"https://api.github.com/users/GaurangTandon/events{/privacy}","received_events_url":"https://api.github.com/users/GaurangTandon/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":5,"state":"open","created_at":"2018-07-24T02:58:20Z","updated_at":"2018-07-24T12:57:46Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2017-12-15T13:38:13Z","updated_at":"2018-07-24T12:57:46Z","closed_at":"2018-07-24T12:57:46Z","author_association":"OWNER","body":"**Proposal:**\r\n\r\nA syntax to \"embed\" one snippet (A) inside another snippet (B). This way you could have a central \"master snippet\" with other snippets \"embedding\" it. The content for snippet A would be dynamically fetched at the time of snippet execution.\r\n\r\n**Proposed syntax:**\r\n\r\n    [[%s(SNIPPET_NAME)]]\r\n\r\n**Sample scenario:**\r\n_(reported by Alexey on support email)_\r\n\r\n\"Say I have snippets with following content\r\n\r\nA: 'Snippet A content'\r\nB: 'Snippet B content with content from snippet A which is being updated'\r\nC: 'Snippet C content with content from snippet A which is being updated' \r\n\r\nReal user scenario for QA engineer, snippet A is current product build number (which is updated once in day/week/month), and snippet B is bug creation report template which requires build number where issue is reproduced, and other parts never change. Another snippet is bug fix confirmation where current build number is used as well.\"\r\n\r\n**Possible hiccups:**\r\n\r\n1. Having to deal with placeholders in embedded snippets. - That is a non-issue because the main snippet will be inserted _after_ the sub-snippets have been found and replaced in the main snippet.\r\n2. Having to deal with embedding of the same snippet more than once in a snippet - again, I am not sure what the issue in this really is.\r\n3. Multiple embedding: Embedding a snippet which has another snippet embedded in it which has another embed and so on... (`A > B > C > D`)\r\n4. Circular embedding: multiple embedding that ends at the main snippet or one of the chain snippets i.e. `A > B > C > B` or `A > B > C > A`. Perform a check for this and raise an error while saving the snippet itself.\r\n\r\n-----\r\n\r\n**Note:** While this would be user-friendly after the #132 update, it does not hurt to add the functionality anyway."}}
{"actor":{"display_login":"GaurangTandon"}}