Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e13a28cc18 | ||
|
|
742b36d6b7 | ||
|
|
8507419ebf |
@@ -148,3 +148,50 @@ Only `name`, `description`, and `childParamsGroups` are kept — these are used
|
|||||||
To compare all fields vs stripped, run `npm run update-webhooks -- --all` and diff the `.all.json` files against the regular ones.
|
To compare all fields vs stripped, run `npm run update-webhooks -- --all` and diff the `.all.json` files against the regular ones.
|
||||||
|
|
||||||
See `EVENT_ACTION_FIELDS` and `BODY_PARAM_FIELDS` in `script/webhooks/index.ts` to modify what gets stripped.
|
See `EVENT_ACTION_FIELDS` and `BODY_PARAM_FIELDS` in `script/webhooks/index.ts` to modify what gets stripped.
|
||||||
|
|
||||||
|
## Schema Synchronization
|
||||||
|
|
||||||
|
The `workflow-v1.0.json` schema defines which activity types are valid for each workflow trigger event. A test in `workflow-parser/src/schema-sync.test.ts` verifies these stay in sync with `webhooks.json`.
|
||||||
|
|
||||||
|
### When the Test Fails
|
||||||
|
|
||||||
|
If the schema-sync test fails, you'll see an error like:
|
||||||
|
|
||||||
|
```
|
||||||
|
Event "pull_request" is missing activity type "new_activity" in workflow-v1.0.json
|
||||||
|
```
|
||||||
|
|
||||||
|
**To resolve:**
|
||||||
|
|
||||||
|
1. Check [Events that trigger workflows](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows) to verify the activity type is a valid workflow trigger:
|
||||||
|
- Find the event section (e.g., "pull_request")
|
||||||
|
- Look at the "Activity types" table — it lists which types can be used in `on.<event>.types`
|
||||||
|
- If the type is listed there, it's a valid workflow trigger
|
||||||
|
- If the type only appears in webhook docs but NOT in the workflow trigger docs, it's webhook-only
|
||||||
|
|
||||||
|
2. If it IS a valid workflow trigger:
|
||||||
|
- Edit `workflow-parser/src/workflow-v1.0.json`
|
||||||
|
- Find the `<event>-activity-type` definition (e.g., `pull-request-activity-type`)
|
||||||
|
- Add the new activity type to `allowed-values`
|
||||||
|
- Update the `description` in `<event>-activity` to list all types
|
||||||
|
- Run `npm test` to regenerate the minified JSON
|
||||||
|
|
||||||
|
3. If it is NOT a valid workflow trigger (webhook-only):
|
||||||
|
- Edit `workflow-parser/src/schema-sync.test.ts`
|
||||||
|
- Add the type to `WEBHOOK_ONLY` for that event
|
||||||
|
|
||||||
|
### Known Discrepancies
|
||||||
|
|
||||||
|
The test tracks several types of known discrepancies:
|
||||||
|
|
||||||
|
| Category | Purpose | Example |
|
||||||
|
|----------|---------|---------|
|
||||||
|
| `WEBHOOK_ONLY` | Types in webhooks that aren't valid workflow triggers | `check_suite.requested` |
|
||||||
|
| `SCHEMA_ONLY` | Types valid for workflows but missing from webhooks | `registry_package.updated` |
|
||||||
|
| `NAME_MAPPINGS` | Different names for the same concept | `project_column`: webhook uses `edited`, schema uses `updated` |
|
||||||
|
|
||||||
|
### Bidirectional Checking
|
||||||
|
|
||||||
|
The test checks both directions:
|
||||||
|
- **webhooks → schema**: Ensures all webhook activity types are in the schema (or listed in `WEBHOOK_ONLY`)
|
||||||
|
- **schema → webhooks**: Ensures the schema doesn't have types that don't exist in webhooks (or listed in `SCHEMA_ONLY` or `NAME_MAPPINGS`)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@actions/expressions",
|
"name": "@actions/expressions",
|
||||||
"version": "0.3.24",
|
"version": "0.3.25",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"source": "./src/index.ts",
|
"source": "./src/index.ts",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@actions/languageserver",
|
"name": "@actions/languageserver",
|
||||||
"version": "0.3.24",
|
"version": "0.3.25",
|
||||||
"description": "Language server for GitHub Actions",
|
"description": "Language server for GitHub Actions",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
@@ -43,8 +43,8 @@
|
|||||||
"watch": "tsc --build tsconfig.build.json --watch"
|
"watch": "tsc --build tsconfig.build.json --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/languageservice": "^0.3.24",
|
"@actions/languageservice": "^0.3.25",
|
||||||
"@actions/workflow-parser": "^0.3.24",
|
"@actions/workflow-parser": "^0.3.25",
|
||||||
"@octokit/rest": "^21.1.1",
|
"@octokit/rest": "^21.1.1",
|
||||||
"@octokit/types": "^9.0.0",
|
"@octokit/types": "^9.0.0",
|
||||||
"vscode-languageserver": "^8.0.2",
|
"vscode-languageserver": "^8.0.2",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@actions/languageservice",
|
"name": "@actions/languageservice",
|
||||||
"version": "0.3.24",
|
"version": "0.3.25",
|
||||||
"description": "Language service for GitHub Actions",
|
"description": "Language service for GitHub Actions",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
@@ -47,8 +47,8 @@
|
|||||||
"watch": "tsc --build tsconfig.build.json --watch"
|
"watch": "tsc --build tsconfig.build.json --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/expressions": "^0.3.24",
|
"@actions/expressions": "^0.3.25",
|
||||||
"@actions/workflow-parser": "^0.3.24",
|
"@actions/workflow-parser": "^0.3.25",
|
||||||
"vscode-languageserver-textdocument": "^1.0.7",
|
"vscode-languageserver-textdocument": "^1.0.7",
|
||||||
"vscode-languageserver-types": "^3.17.2",
|
"vscode-languageserver-types": "^3.17.2",
|
||||||
"vscode-uri": "^3.0.8",
|
"vscode-uri": "^3.0.8",
|
||||||
|
|||||||
@@ -27,10 +27,13 @@ const DROPPED_EVENTS = new Set([
|
|||||||
"custom_property_values",
|
"custom_property_values",
|
||||||
"dependabot_alert",
|
"dependabot_alert",
|
||||||
"deploy_key",
|
"deploy_key",
|
||||||
|
"deployment_protection_rule",
|
||||||
|
"deployment_review",
|
||||||
"github_app_authorization",
|
"github_app_authorization",
|
||||||
"installation",
|
"installation",
|
||||||
"installation_repositories",
|
"installation_repositories",
|
||||||
"installation_target",
|
"installation_target",
|
||||||
|
"issue_dependencies",
|
||||||
"marketplace_purchase",
|
"marketplace_purchase",
|
||||||
"member",
|
"member",
|
||||||
"membership",
|
"membership",
|
||||||
@@ -41,15 +44,18 @@ const DROPPED_EVENTS = new Set([
|
|||||||
"package",
|
"package",
|
||||||
"personal_access_token_request",
|
"personal_access_token_request",
|
||||||
"ping",
|
"ping",
|
||||||
|
"projects_v2_status_update",
|
||||||
"repository",
|
"repository",
|
||||||
"repository_advisory",
|
"repository_advisory",
|
||||||
"repository_ruleset",
|
"repository_ruleset",
|
||||||
"secret_scanning_alert",
|
"secret_scanning_alert",
|
||||||
"secret_scanning_alert_location",
|
"secret_scanning_alert_location",
|
||||||
|
"secret_scanning_scan",
|
||||||
"security_advisory",
|
"security_advisory",
|
||||||
"security_and_analysis",
|
"security_and_analysis",
|
||||||
"sponsorship",
|
"sponsorship",
|
||||||
"star",
|
"star",
|
||||||
|
"sub_issues",
|
||||||
"team",
|
"team",
|
||||||
"team_add"
|
"team_add"
|
||||||
]);
|
]);
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -6,5 +6,5 @@
|
|||||||
"languageservice",
|
"languageservice",
|
||||||
"languageserver"
|
"languageserver"
|
||||||
],
|
],
|
||||||
"version": "0.3.24"
|
"version": "0.3.25"
|
||||||
}
|
}
|
||||||
Generated
+9
-9
@@ -135,7 +135,7 @@
|
|||||||
},
|
},
|
||||||
"expressions": {
|
"expressions": {
|
||||||
"name": "@actions/expressions",
|
"name": "@actions/expressions",
|
||||||
"version": "0.3.24",
|
"version": "0.3.25",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^29.0.3",
|
"@types/jest": "^29.0.3",
|
||||||
@@ -395,11 +395,11 @@
|
|||||||
},
|
},
|
||||||
"languageserver": {
|
"languageserver": {
|
||||||
"name": "@actions/languageserver",
|
"name": "@actions/languageserver",
|
||||||
"version": "0.3.24",
|
"version": "0.3.25",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/languageservice": "^0.3.24",
|
"@actions/languageservice": "^0.3.25",
|
||||||
"@actions/workflow-parser": "^0.3.24",
|
"@actions/workflow-parser": "^0.3.25",
|
||||||
"@octokit/rest": "^21.1.1",
|
"@octokit/rest": "^21.1.1",
|
||||||
"@octokit/types": "^9.0.0",
|
"@octokit/types": "^9.0.0",
|
||||||
"vscode-languageserver": "^8.0.2",
|
"vscode-languageserver": "^8.0.2",
|
||||||
@@ -921,11 +921,11 @@
|
|||||||
},
|
},
|
||||||
"languageservice": {
|
"languageservice": {
|
||||||
"name": "@actions/languageservice",
|
"name": "@actions/languageservice",
|
||||||
"version": "0.3.24",
|
"version": "0.3.25",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/expressions": "^0.3.24",
|
"@actions/expressions": "^0.3.25",
|
||||||
"@actions/workflow-parser": "^0.3.24",
|
"@actions/workflow-parser": "^0.3.25",
|
||||||
"vscode-languageserver-textdocument": "^1.0.7",
|
"vscode-languageserver-textdocument": "^1.0.7",
|
||||||
"vscode-languageserver-types": "^3.17.2",
|
"vscode-languageserver-types": "^3.17.2",
|
||||||
"vscode-uri": "^3.0.8",
|
"vscode-uri": "^3.0.8",
|
||||||
@@ -12834,10 +12834,10 @@
|
|||||||
},
|
},
|
||||||
"workflow-parser": {
|
"workflow-parser": {
|
||||||
"name": "@actions/workflow-parser",
|
"name": "@actions/workflow-parser",
|
||||||
"version": "0.3.24",
|
"version": "0.3.25",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/expressions": "^0.3.24",
|
"@actions/expressions": "^0.3.25",
|
||||||
"cronstrue": "^2.21.0",
|
"cronstrue": "^2.21.0",
|
||||||
"yaml": "^2.0.0-8"
|
"yaml": "^2.0.0-8"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@actions/workflow-parser",
|
"name": "@actions/workflow-parser",
|
||||||
"version": "0.3.24",
|
"version": "0.3.25",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"source": "./src/index.ts",
|
"source": "./src/index.ts",
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
"watch": "tsc --build tsconfig.build.json --watch"
|
"watch": "tsc --build tsconfig.build.json --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/expressions": "^0.3.24",
|
"@actions/expressions": "^0.3.25",
|
||||||
"cronstrue": "^2.21.0",
|
"cronstrue": "^2.21.0",
|
||||||
"yaml": "^2.0.0-8"
|
"yaml": "^2.0.0-8"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -0,0 +1,183 @@
|
|||||||
|
import * as fs from "fs";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This test ensures that activity types in workflow-v1.0.json stay in sync with
|
||||||
|
* the webhooks.json file from the languageservice package.
|
||||||
|
*
|
||||||
|
* When this test fails, it means new activity types were added to webhooks.json
|
||||||
|
* that need to be handled. See docs/json-data-files.md for detailed instructions.
|
||||||
|
*
|
||||||
|
* Quick reference for fixing failures:
|
||||||
|
* 1. Check https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows
|
||||||
|
* Find the event and look at its "Activity types" table to see if the type is a valid workflow trigger.
|
||||||
|
* 2. If the activity type IS a valid workflow trigger:
|
||||||
|
* → Add it to the corresponding *-activity-type definition in workflow-v1.0.json
|
||||||
|
* 3. If the activity type is webhook-only (not in workflow docs):
|
||||||
|
* → Add it to the WEBHOOK_ONLY list below
|
||||||
|
* 4. If there's a naming difference between webhook and schema:
|
||||||
|
* → Add it to the NAME_MAPPINGS list below
|
||||||
|
* 5. If the schema has a type not in webhooks.json:
|
||||||
|
* → Add it to the SCHEMA_ONLY list below
|
||||||
|
*/
|
||||||
|
|
||||||
|
describe("schema-sync", () => {
|
||||||
|
// Activity types that exist in webhooks.json but are intentionally NOT
|
||||||
|
// supported as workflow triggers. These will be ignored when checking
|
||||||
|
// webhooks → schema direction.
|
||||||
|
const WEBHOOK_ONLY: Record<string, string[]> = {
|
||||||
|
// check_suite: requested and rerequested are webhook-only, not valid workflow triggers
|
||||||
|
// See: https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#check_suite
|
||||||
|
check_suite: ["requested", "rerequested"],
|
||||||
|
|
||||||
|
// registry_package: "default" is a webhook concept, not a workflow trigger type
|
||||||
|
registry_package: ["default"]
|
||||||
|
};
|
||||||
|
|
||||||
|
// Activity types that exist in workflow schema but are intentionally NOT
|
||||||
|
// in webhooks.json (schema-only types). These will be ignored when checking
|
||||||
|
// schema → webhooks direction.
|
||||||
|
const SCHEMA_ONLY: Record<string, string[]> = {
|
||||||
|
// registry_package: "updated" is a valid workflow trigger per GitHub docs
|
||||||
|
// but doesn't exist in webhooks.json (webhooks only has "published" and "default")
|
||||||
|
// See: https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#registry_package
|
||||||
|
registry_package: ["updated"]
|
||||||
|
};
|
||||||
|
|
||||||
|
// Known naming differences between webhooks.json and workflow-v1.0.json.
|
||||||
|
// Key: event name, Value: { webhook: "webhookName", schema: "schemaName" }
|
||||||
|
// These are treated as equivalent when comparing in both directions.
|
||||||
|
const NAME_MAPPINGS: Record<string, Array<{webhook: string; schema: string}>> = {
|
||||||
|
// project_column: webhooks.json uses "edited" but workflow triggers use "updated"
|
||||||
|
// This is a known naming difference - they represent the same action
|
||||||
|
project_column: [{webhook: "edited", schema: "updated"}]
|
||||||
|
};
|
||||||
|
|
||||||
|
it("activity types in workflow-v1.0.json match webhooks.json", () => {
|
||||||
|
// Load webhooks.json (relative path from the test runner CWD which is the package root)
|
||||||
|
const webhooksPath = "../languageservice/src/context-providers/events/webhooks.json";
|
||||||
|
const webhooks = JSON.parse(fs.readFileSync(webhooksPath, "utf-8")) as Record<string, Record<string, unknown>>;
|
||||||
|
|
||||||
|
// Load workflow-v1.0.json
|
||||||
|
const schemaPath = "./src/workflow-v1.0.json";
|
||||||
|
const schema = JSON.parse(fs.readFileSync(schemaPath, "utf-8")) as {
|
||||||
|
definitions: Record<string, {"allowed-values"?: string[]; description?: string}>;
|
||||||
|
};
|
||||||
|
|
||||||
|
const mismatches: string[] = [];
|
||||||
|
|
||||||
|
// Build mapping helpers for each event
|
||||||
|
const getWebhookToSchemaMapping = (eventName: string): Map<string, string> => {
|
||||||
|
const map = new Map<string, string>();
|
||||||
|
for (const mapping of NAME_MAPPINGS[eventName] || []) {
|
||||||
|
map.set(mapping.webhook, mapping.schema);
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
};
|
||||||
|
|
||||||
|
const getSchemaToWebhookMapping = (eventName: string): Map<string, string> => {
|
||||||
|
const map = new Map<string, string>();
|
||||||
|
for (const mapping of NAME_MAPPINGS[eventName] || []) {
|
||||||
|
map.set(mapping.schema, mapping.webhook);
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Check both directions for each event
|
||||||
|
for (const [eventName, eventData] of Object.entries(webhooks)) {
|
||||||
|
const webhookTypes = Object.keys(eventData);
|
||||||
|
if (webhookTypes.length === 0) continue;
|
||||||
|
|
||||||
|
const schemaTypeName = `${eventName.replace(/_/g, "-")}-activity-type`;
|
||||||
|
const schemaDef = schema.definitions[schemaTypeName];
|
||||||
|
|
||||||
|
// If there's no activity type definition in the schema, this event
|
||||||
|
// doesn't support activity types in workflows (e.g., push, pull)
|
||||||
|
if (!schemaDef || !schemaDef["allowed-values"]) continue;
|
||||||
|
|
||||||
|
const schemaTypes = new Set(schemaDef["allowed-values"]);
|
||||||
|
const webhookOnly = new Set(WEBHOOK_ONLY[eventName] || []);
|
||||||
|
const schemaOnly = new Set(SCHEMA_ONLY[eventName] || []);
|
||||||
|
const webhookToSchema = getWebhookToSchemaMapping(eventName);
|
||||||
|
const schemaToWebhook = getSchemaToWebhookMapping(eventName);
|
||||||
|
|
||||||
|
// Direction 1: webhooks → schema
|
||||||
|
// Check that each webhook type exists in schema (or has a mapping, or is webhook-only)
|
||||||
|
for (const webhookType of webhookTypes) {
|
||||||
|
if (webhookOnly.has(webhookType)) continue;
|
||||||
|
|
||||||
|
const mappedSchemaType = webhookToSchema.get(webhookType);
|
||||||
|
if (mappedSchemaType) {
|
||||||
|
// Has a mapping - check the mapped name exists in schema
|
||||||
|
if (!schemaTypes.has(mappedSchemaType)) {
|
||||||
|
mismatches.push(
|
||||||
|
`Event "${eventName}": webhook type "${webhookType}" maps to "${mappedSchemaType}" but "${mappedSchemaType}" not found in schema`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// No mapping - check the type exists directly
|
||||||
|
if (!schemaTypes.has(webhookType)) {
|
||||||
|
mismatches.push(
|
||||||
|
`Event "${eventName}": missing activity type "${webhookType}" in workflow-v1.0.json (exists in webhooks.json)`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Direction 2: schema → webhooks
|
||||||
|
// Check that each schema type exists in webhooks (or has a mapping, or is schema-only)
|
||||||
|
const webhookTypesSet = new Set(webhookTypes);
|
||||||
|
for (const schemaType of schemaTypes) {
|
||||||
|
if (schemaOnly.has(schemaType)) continue;
|
||||||
|
|
||||||
|
const mappedWebhookType = schemaToWebhook.get(schemaType);
|
||||||
|
if (mappedWebhookType) {
|
||||||
|
// Has a mapping - check the mapped name exists in webhooks
|
||||||
|
if (!webhookTypesSet.has(mappedWebhookType)) {
|
||||||
|
mismatches.push(
|
||||||
|
`Event "${eventName}": schema type "${schemaType}" maps to "${mappedWebhookType}" but "${mappedWebhookType}" not found in webhooks.json`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// No mapping - check the type exists directly
|
||||||
|
if (!webhookTypesSet.has(schemaType)) {
|
||||||
|
mismatches.push(
|
||||||
|
`Event "${eventName}": extra activity type "${schemaType}" in workflow-v1.0.json (not in webhooks.json)`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check that the description mentions all allowed values
|
||||||
|
const activityDefName = `${eventName.replace(/_/g, "-")}-activity`;
|
||||||
|
const activityDef = schema.definitions[activityDefName];
|
||||||
|
if (activityDef?.description) {
|
||||||
|
for (const schemaType of schemaTypes) {
|
||||||
|
if (!activityDef.description.includes(`\`${schemaType}\``)) {
|
||||||
|
mismatches.push(
|
||||||
|
`Event "${eventName}": description in "${activityDefName}" is missing activity type \`${schemaType}\``
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mismatches.length > 0) {
|
||||||
|
const errorMessage = [
|
||||||
|
"Activity type mismatches found between webhooks.json and workflow-v1.0.json:",
|
||||||
|
"",
|
||||||
|
...mismatches,
|
||||||
|
"",
|
||||||
|
"To fix these mismatches:",
|
||||||
|
"1. Check GitHub docs: https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows",
|
||||||
|
"2. Verify the activity type is valid for workflow triggers",
|
||||||
|
"3. Update the *-activity-type definition in workflow-parser/src/workflow-v1.0.json",
|
||||||
|
"4. Update the description to list all supported activity types",
|
||||||
|
"5. If there's a naming difference, add it to NAME_MAPPINGS in schema-sync.test.ts",
|
||||||
|
"6. If the type is webhook-only, add it to WEBHOOK_ONLY",
|
||||||
|
"7. If the type is schema-only, add it to SCHEMA_ONLY"
|
||||||
|
].join("\n");
|
||||||
|
|
||||||
|
throw new Error(errorMessage);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -856,7 +856,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pull-request-activity": {
|
"pull-request-activity": {
|
||||||
"description": "The types of pull request activity that trigger the workflow. Supported activity types: `assigned`, `unassigned`, `labeled`, `unlabeled`, `opened`, `edited`, `closed`, `reopened`, `synchronize`, `converted_to_draft`, `ready_for_review`, `locked`, `unlocked`, `review_requested`, `review_request_removed`, `auto_merge_enabled`, `auto_merge_disabled`.",
|
"description": "The types of pull request activity that trigger the workflow. Supported activity types: `assigned`, `unassigned`, `labeled`, `unlabeled`, `opened`, `edited`, `closed`, `reopened`, `synchronize`, `converted_to_draft`, `locked`, `unlocked`, `enqueued`, `dequeued`, `milestoned`, `demilestoned`, `ready_for_review`, `review_requested`, `review_request_removed`, `auto_merge_enabled`, `auto_merge_disabled`.",
|
||||||
"one-of": [
|
"one-of": [
|
||||||
"pull-request-activity-type",
|
"pull-request-activity-type",
|
||||||
"pull-request-activity-types"
|
"pull-request-activity-types"
|
||||||
@@ -879,9 +879,13 @@
|
|||||||
"reopened",
|
"reopened",
|
||||||
"synchronize",
|
"synchronize",
|
||||||
"converted_to_draft",
|
"converted_to_draft",
|
||||||
"ready_for_review",
|
|
||||||
"locked",
|
"locked",
|
||||||
"unlocked",
|
"unlocked",
|
||||||
|
"enqueued",
|
||||||
|
"dequeued",
|
||||||
|
"milestoned",
|
||||||
|
"demilestoned",
|
||||||
|
"ready_for_review",
|
||||||
"review_requested",
|
"review_requested",
|
||||||
"review_request_removed",
|
"review_request_removed",
|
||||||
"auto_merge_enabled",
|
"auto_merge_enabled",
|
||||||
@@ -1004,7 +1008,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pull-request-target-activity": {
|
"pull-request-target-activity": {
|
||||||
"description": "The types of pull request activity that trigger the workflow. Supported activity types: `assigned`, `unassigned`, `labeled`, `unlabeled`, `opened`, `edited`, `closed`, `reopened`, `synchronize`, `converted_to_draft`, `ready_for_review`, `locked`, `unlocked`, `review_requested`, `review_request_removed`, `auto_merge_enabled`, `auto_merge_disabled`.",
|
"description": "The types of pull request activity that trigger the workflow. Supported activity types: `assigned`, `unassigned`, `labeled`, `unlabeled`, `opened`, `edited`, `closed`, `reopened`, `synchronize`, `converted_to_draft`, `locked`, `unlocked`, `enqueued`, `dequeued`, `milestoned`, `demilestoned`, `ready_for_review`, `review_requested`, `review_request_removed`, `auto_merge_enabled`, `auto_merge_disabled`.",
|
||||||
"one-of": [
|
"one-of": [
|
||||||
"pull-request-target-activity-type",
|
"pull-request-target-activity-type",
|
||||||
"pull-request-target-activity-types"
|
"pull-request-target-activity-types"
|
||||||
@@ -1027,9 +1031,13 @@
|
|||||||
"reopened",
|
"reopened",
|
||||||
"synchronize",
|
"synchronize",
|
||||||
"converted_to_draft",
|
"converted_to_draft",
|
||||||
"ready_for_review",
|
|
||||||
"locked",
|
"locked",
|
||||||
"unlocked",
|
"unlocked",
|
||||||
|
"enqueued",
|
||||||
|
"dequeued",
|
||||||
|
"milestoned",
|
||||||
|
"demilestoned",
|
||||||
|
"ready_for_review",
|
||||||
"review_requested",
|
"review_requested",
|
||||||
"review_request_removed",
|
"review_request_removed",
|
||||||
"auto_merge_enabled",
|
"auto_merge_enabled",
|
||||||
|
|||||||
@@ -120,6 +120,8 @@ on:
|
|||||||
- unassigned
|
- unassigned
|
||||||
- labeled
|
- labeled
|
||||||
- unlabeled
|
- unlabeled
|
||||||
|
- milestoned
|
||||||
|
- demilestoned
|
||||||
- opened
|
- opened
|
||||||
- edited
|
- edited
|
||||||
- closed
|
- closed
|
||||||
@@ -129,6 +131,8 @@ on:
|
|||||||
- ready_for_review
|
- ready_for_review
|
||||||
- locked
|
- locked
|
||||||
- unlocked
|
- unlocked
|
||||||
|
- enqueued
|
||||||
|
- dequeued
|
||||||
- review_requested
|
- review_requested
|
||||||
- review_request_removed
|
- review_request_removed
|
||||||
- auto_merge_enabled
|
- auto_merge_enabled
|
||||||
@@ -160,6 +164,8 @@ on:
|
|||||||
- unassigned
|
- unassigned
|
||||||
- labeled
|
- labeled
|
||||||
- unlabeled
|
- unlabeled
|
||||||
|
- milestoned
|
||||||
|
- demilestoned
|
||||||
- opened
|
- opened
|
||||||
- edited
|
- edited
|
||||||
- closed
|
- closed
|
||||||
@@ -169,6 +175,8 @@ on:
|
|||||||
- ready_for_review
|
- ready_for_review
|
||||||
- locked
|
- locked
|
||||||
- unlocked
|
- unlocked
|
||||||
|
- enqueued
|
||||||
|
- dequeued
|
||||||
- review_requested
|
- review_requested
|
||||||
- review_request_removed
|
- review_request_removed
|
||||||
- auto_merge_enabled
|
- auto_merge_enabled
|
||||||
@@ -386,6 +394,8 @@ jobs:
|
|||||||
"unassigned",
|
"unassigned",
|
||||||
"labeled",
|
"labeled",
|
||||||
"unlabeled",
|
"unlabeled",
|
||||||
|
"milestoned",
|
||||||
|
"demilestoned",
|
||||||
"opened",
|
"opened",
|
||||||
"edited",
|
"edited",
|
||||||
"closed",
|
"closed",
|
||||||
@@ -395,6 +405,8 @@ jobs:
|
|||||||
"ready_for_review",
|
"ready_for_review",
|
||||||
"locked",
|
"locked",
|
||||||
"unlocked",
|
"unlocked",
|
||||||
|
"enqueued",
|
||||||
|
"dequeued",
|
||||||
"review_requested",
|
"review_requested",
|
||||||
"review_request_removed",
|
"review_request_removed",
|
||||||
"auto_merge_enabled",
|
"auto_merge_enabled",
|
||||||
@@ -441,6 +453,8 @@ jobs:
|
|||||||
"unassigned",
|
"unassigned",
|
||||||
"labeled",
|
"labeled",
|
||||||
"unlabeled",
|
"unlabeled",
|
||||||
|
"milestoned",
|
||||||
|
"demilestoned",
|
||||||
"opened",
|
"opened",
|
||||||
"edited",
|
"edited",
|
||||||
"closed",
|
"closed",
|
||||||
@@ -450,6 +464,8 @@ jobs:
|
|||||||
"ready_for_review",
|
"ready_for_review",
|
||||||
"locked",
|
"locked",
|
||||||
"unlocked",
|
"unlocked",
|
||||||
|
"enqueued",
|
||||||
|
"dequeued",
|
||||||
"review_requested",
|
"review_requested",
|
||||||
"review_request_removed",
|
"review_request_removed",
|
||||||
"auto_merge_enabled",
|
"auto_merge_enabled",
|
||||||
|
|||||||
Reference in New Issue
Block a user