@backstage-community/plugin-github-actions 0.6.22 → 0.6.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +27 -6
- package/alpha/package.json +1 -1
- package/dist/alpha/apis.esm.js.map +1 -1
- package/dist/alpha/entityCards.esm.js.map +1 -1
- package/dist/alpha/entityContent.esm.js.map +1 -1
- package/dist/alpha.d.ts +138 -94
- package/dist/alpha.esm.js.map +1 -1
- package/package.json +15 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @backstage-community/plugin-github-actions
|
|
2
2
|
|
|
3
|
+
## 0.6.24
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 9501620: Updating README to include missing steps
|
|
8
|
+
|
|
9
|
+
## 0.6.23
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 6fdae83: Backstage version bump to v1.32.0
|
|
14
|
+
|
|
3
15
|
## 0.6.22
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@ Website: [https://github.com/actions](https://github.com/actions)
|
|
|
9
9
|
- [Screenshots](#screenshots)
|
|
10
10
|
- [Setup](#setup)
|
|
11
11
|
- [Generic Requirements](#generic-requirements)
|
|
12
|
+
- [Provide OAuth Credentials](#provide-oauth-credentials)
|
|
12
13
|
- [Installation](#installation)
|
|
13
14
|
- [Integrating with `EntityPage`](#integrating-with-entitypage)
|
|
14
15
|
- [Integrating with `EntityPage` (New Frontend System)](#integrating-with-entitypage-new-frontend-system)
|
|
@@ -25,13 +26,21 @@ TBD
|
|
|
25
26
|
|
|
26
27
|
### Generic Requirements
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
#### Provide OAuth Credentials
|
|
30
|
+
|
|
31
|
+
Create an OAuth App in your GitHub organization, setting the callback URL to:
|
|
32
|
+
|
|
33
|
+
`http://localhost:7007/api/auth/github/handler/frame`
|
|
34
|
+
|
|
35
|
+
Replacing `localhost:7007` with the base URL of your backstage backend instance.
|
|
36
|
+
|
|
37
|
+
> **Note**: This setup can also be completed with a personal GitHub account.
|
|
38
|
+
> Keep in mind that using a personal account versus an organization account will affect which repositories the app can access.
|
|
39
|
+
|
|
31
40
|
1. Take the Client ID and Client Secret from the newly created app's settings page and you can do either:
|
|
32
41
|
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
- Put them into `AUTH_GITHUB_CLIENT_ID` and `AUTH_GITHUB_CLIENT_SECRET` environment variables.
|
|
43
|
+
- Add them to the app-config like below:
|
|
35
44
|
|
|
36
45
|
```yaml
|
|
37
46
|
auth:
|
|
@@ -42,7 +51,7 @@ TBD
|
|
|
42
51
|
clientSecret: ${AUTH_GITHUB_CLIENT_SECRET}
|
|
43
52
|
```
|
|
44
53
|
|
|
45
|
-
|
|
54
|
+
2. Annotate your component with a correct GitHub Actions repository and owner:
|
|
46
55
|
|
|
47
56
|
The annotation key is `github.com/project-slug`.
|
|
48
57
|
|
|
@@ -71,6 +80,18 @@ TBD
|
|
|
71
80
|
yarn --cwd packages/app add @backstage-community/plugin-github-actions
|
|
72
81
|
```
|
|
73
82
|
|
|
83
|
+
> **Note**: If you are using GitHub auth to sign in, you may already have the GitHub provider, **if it is not the case**, install it by running:
|
|
84
|
+
>
|
|
85
|
+
> ```tsx
|
|
86
|
+
> yarn --cwd packages/backend add @backstage/plugin-auth-backend-module-github-provider
|
|
87
|
+
> ```
|
|
88
|
+
>
|
|
89
|
+
> And add the following dependency to your backend index file:
|
|
90
|
+
>
|
|
91
|
+
> ```tsx
|
|
92
|
+
> backend.add(import('@backstage/plugin-auth-backend-module-github-provider'));
|
|
93
|
+
> ```
|
|
94
|
+
|
|
74
95
|
### Integrating with `EntityPage`
|
|
75
96
|
|
|
76
97
|
1. Add to the app `EntityPage` component:
|
package/alpha/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apis.esm.js","sources":["../../src/alpha/apis.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"apis.esm.js","sources":["../../src/alpha/apis.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n configApiRef,\n ApiBlueprint,\n createApiFactory,\n} from '@backstage/frontend-plugin-api';\nimport { scmAuthApiRef } from '@backstage/integration-react';\nimport { githubActionsApiRef, GithubActionsClient } from '../api';\n\n/**\n * @alpha\n */\nexport const githubActionsApi = ApiBlueprint.make({\n params: {\n factory: createApiFactory({\n api: githubActionsApiRef,\n deps: { configApi: configApiRef, scmAuthApi: scmAuthApiRef },\n factory: ({ configApi, scmAuthApi }) =>\n new GithubActionsClient({ configApi, scmAuthApi }),\n }),\n },\n});\n"],"names":[],"mappings":";;;;;AA0Ba,MAAA,gBAAA,GAAmB,aAAa,IAAK,CAAA;AAAA,EAChD,MAAQ,EAAA;AAAA,IACN,SAAS,gBAAiB,CAAA;AAAA,MACxB,GAAK,EAAA,mBAAA;AAAA,MACL,IAAM,EAAA,EAAE,SAAW,EAAA,YAAA,EAAc,YAAY,aAAc,EAAA;AAAA,MAC3D,OAAA,EAAS,CAAC,EAAE,SAAW,EAAA,UAAA,EACrB,KAAA,IAAI,mBAAoB,CAAA,EAAE,SAAW,EAAA,UAAA,EAAY,CAAA;AAAA,KACpD,CAAA;AAAA,GACH;AACF,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityCards.esm.js","sources":["../../src/alpha/entityCards.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"entityCards.esm.js","sources":["../../src/alpha/entityCards.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { EntityCardBlueprint } from '@backstage/plugin-catalog-react/alpha';\n\n/**\n * @alpha\n */\nexport const entityGithubActionsCard = EntityCardBlueprint.make({\n name: 'workflow-runs',\n params: {\n filter: 'kind:component',\n loader: () =>\n import('../components/Router').then(m => <m.Router view=\"cards\" />),\n },\n});\n\n/**\n * @alpha\n */\nexport const entityLatestGithubActionRunCard =\n EntityCardBlueprint.makeWithOverrides({\n name: 'latest-workflow-run',\n config: {\n schema: {\n props: z =>\n z\n .object({\n branch: z.string().default('master'),\n })\n .default({}),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n filter: 'kind:component',\n loader: async () =>\n import('../components/Cards').then(m => (\n <m.LatestWorkflowRunCard {...config.props} />\n )),\n });\n },\n });\n\n/**\n * @alpha\n */\nexport const entityLatestGithubActionsForBranchCard =\n EntityCardBlueprint.makeWithOverrides({\n name: 'latest-branch-workflow-runs',\n config: {\n schema: {\n props: z =>\n z\n .object({\n branch: z.string().default('master'),\n })\n .default({}),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n filter: 'kind:component',\n loader: async () =>\n import('../components/Cards').then(m => (\n <m.LatestWorkflowsForBranchCard {...config.props} />\n )),\n });\n },\n });\n\n/**\n * @alpha\n */\nexport const entityRecentGithubActionsRunsCard =\n EntityCardBlueprint.makeWithOverrides({\n name: 'recent-workflow-runs',\n config: {\n schema: {\n props: z =>\n z\n .object({\n branch: z.string().default('master'),\n dense: z.boolean().default(false),\n limit: z.number().default(5).optional(),\n })\n .default({}),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n filter: 'kind:component',\n loader: async () =>\n import('../components/Cards').then(m => (\n <m.RecentWorkflowRunsCard {...config.props} />\n )),\n });\n },\n });\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityContent.esm.js","sources":["../../src/alpha/entityContent.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"entityContent.esm.js","sources":["../../src/alpha/entityContent.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { convertLegacyRouteRef } from '@backstage/core-compat-api';\nimport { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha';\nimport { rootRouteRef } from '../routes';\n\n/**\n * @alpha\n */\nexport const entityGithubActionsContent = EntityContentBlueprint.make({\n name: 'entity',\n params: {\n defaultPath: 'github-actions',\n defaultTitle: 'GitHub Actions',\n filter: 'kind:component',\n routeRef: convertLegacyRouteRef(rootRouteRef),\n loader: () =>\n import('../components/Router').then(m => <m.Router view=\"table\" />),\n },\n});\n"],"names":[],"mappings":";;;;;AAuBa,MAAA,0BAAA,GAA6B,uBAAuB,IAAK,CAAA;AAAA,EACpE,IAAM,EAAA,QAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACN,WAAa,EAAA,gBAAA;AAAA,IACb,YAAc,EAAA,gBAAA;AAAA,IACd,MAAQ,EAAA,gBAAA;AAAA,IACR,QAAA,EAAU,sBAAsB,YAAY,CAAA;AAAA,IAC5C,MAAQ,EAAA,MACN,OAAO,6BAAsB,CAAE,CAAA,IAAA,CAAK,CAAK,CAAA,qBAAA,KAAA,CAAA,aAAA,CAAC,CAAE,CAAA,MAAA,EAAF,EAAS,IAAA,EAAK,SAAQ,CAAE,CAAA;AAAA,GACtE;AACF,CAAC;;;;"}
|
package/dist/alpha.d.ts
CHANGED
|
@@ -7,127 +7,171 @@ import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api'
|
|
|
7
7
|
/**
|
|
8
8
|
* @alpha
|
|
9
9
|
*/
|
|
10
|
-
declare const _default: _backstage_frontend_plugin_api.
|
|
10
|
+
declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
|
|
11
11
|
entityContent: _backstage_frontend_plugin_api.RouteRef<undefined>;
|
|
12
12
|
}, {}, {
|
|
13
|
-
"api:github-actions": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
13
|
+
"api:github-actions": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
14
14
|
kind: "api";
|
|
15
|
-
namespace: undefined;
|
|
16
15
|
name: undefined;
|
|
16
|
+
config: {};
|
|
17
|
+
configInput: {};
|
|
18
|
+
output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_core_plugin_api.AnyApiFactory, "core.api.factory", {}>;
|
|
19
|
+
inputs: {};
|
|
20
|
+
params: {
|
|
21
|
+
factory: _backstage_core_plugin_api.AnyApiFactory;
|
|
22
|
+
};
|
|
17
23
|
}>;
|
|
18
24
|
"entity-card:github-actions/workflow-runs": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
19
|
-
filter: string | undefined;
|
|
20
|
-
}, {
|
|
21
|
-
filter?: string | undefined;
|
|
22
|
-
}, _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
23
|
-
optional: true;
|
|
24
|
-
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
25
|
-
optional: true;
|
|
26
|
-
}>, {}, {
|
|
27
25
|
kind: "entity-card";
|
|
28
|
-
namespace: undefined;
|
|
29
26
|
name: "workflow-runs";
|
|
27
|
+
config: {
|
|
28
|
+
filter: string | undefined;
|
|
29
|
+
};
|
|
30
|
+
configInput: {
|
|
31
|
+
filter?: string | undefined;
|
|
32
|
+
};
|
|
33
|
+
output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
34
|
+
optional: true;
|
|
35
|
+
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
36
|
+
optional: true;
|
|
37
|
+
}>;
|
|
38
|
+
inputs: {};
|
|
39
|
+
params: {
|
|
40
|
+
loader: () => Promise<JSX.Element>;
|
|
41
|
+
filter?: string | ((entity: _backstage_catalog_model.Entity) => boolean) | undefined;
|
|
42
|
+
};
|
|
30
43
|
}>;
|
|
31
44
|
"entity-card:github-actions/latest-workflow-run": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
optional:
|
|
50
|
-
singleton: boolean;
|
|
45
|
+
config: {
|
|
46
|
+
props: {
|
|
47
|
+
branch: string;
|
|
48
|
+
};
|
|
49
|
+
} & {
|
|
50
|
+
filter: string | undefined;
|
|
51
|
+
};
|
|
52
|
+
configInput: {
|
|
53
|
+
props?: {
|
|
54
|
+
branch?: string | undefined;
|
|
55
|
+
} | undefined;
|
|
56
|
+
} & {
|
|
57
|
+
filter?: string | undefined;
|
|
58
|
+
};
|
|
59
|
+
output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
60
|
+
optional: true;
|
|
61
|
+
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
62
|
+
optional: true;
|
|
51
63
|
}>;
|
|
52
|
-
|
|
64
|
+
inputs: {
|
|
65
|
+
[x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.AnyExtensionDataRef, {
|
|
66
|
+
optional: boolean;
|
|
67
|
+
singleton: boolean;
|
|
68
|
+
}>;
|
|
69
|
+
};
|
|
53
70
|
kind: "entity-card";
|
|
54
|
-
namespace: undefined;
|
|
55
71
|
name: "latest-workflow-run";
|
|
72
|
+
params: {
|
|
73
|
+
loader: () => Promise<JSX.Element>;
|
|
74
|
+
filter?: string | ((entity: _backstage_catalog_model.Entity) => boolean) | undefined;
|
|
75
|
+
};
|
|
56
76
|
}>;
|
|
57
77
|
"entity-card:github-actions/latest-branch-workflow-runs": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
optional:
|
|
76
|
-
singleton: boolean;
|
|
78
|
+
config: {
|
|
79
|
+
props: {
|
|
80
|
+
branch: string;
|
|
81
|
+
};
|
|
82
|
+
} & {
|
|
83
|
+
filter: string | undefined;
|
|
84
|
+
};
|
|
85
|
+
configInput: {
|
|
86
|
+
props?: {
|
|
87
|
+
branch?: string | undefined;
|
|
88
|
+
} | undefined;
|
|
89
|
+
} & {
|
|
90
|
+
filter?: string | undefined;
|
|
91
|
+
};
|
|
92
|
+
output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
93
|
+
optional: true;
|
|
94
|
+
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
95
|
+
optional: true;
|
|
77
96
|
}>;
|
|
78
|
-
|
|
97
|
+
inputs: {
|
|
98
|
+
[x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.AnyExtensionDataRef, {
|
|
99
|
+
optional: boolean;
|
|
100
|
+
singleton: boolean;
|
|
101
|
+
}>;
|
|
102
|
+
};
|
|
79
103
|
kind: "entity-card";
|
|
80
|
-
namespace: undefined;
|
|
81
104
|
name: "latest-branch-workflow-runs";
|
|
105
|
+
params: {
|
|
106
|
+
loader: () => Promise<JSX.Element>;
|
|
107
|
+
filter?: string | ((entity: _backstage_catalog_model.Entity) => boolean) | undefined;
|
|
108
|
+
};
|
|
82
109
|
}>;
|
|
83
110
|
"entity-card:github-actions/recent-workflow-runs": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
optional:
|
|
106
|
-
singleton: boolean;
|
|
111
|
+
config: {
|
|
112
|
+
props: {
|
|
113
|
+
dense: boolean;
|
|
114
|
+
branch: string;
|
|
115
|
+
limit?: number | undefined;
|
|
116
|
+
};
|
|
117
|
+
} & {
|
|
118
|
+
filter: string | undefined;
|
|
119
|
+
};
|
|
120
|
+
configInput: {
|
|
121
|
+
props?: {
|
|
122
|
+
dense?: boolean | undefined;
|
|
123
|
+
branch?: string | undefined;
|
|
124
|
+
limit?: number | undefined;
|
|
125
|
+
} | undefined;
|
|
126
|
+
} & {
|
|
127
|
+
filter?: string | undefined;
|
|
128
|
+
};
|
|
129
|
+
output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
130
|
+
optional: true;
|
|
131
|
+
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
132
|
+
optional: true;
|
|
107
133
|
}>;
|
|
108
|
-
|
|
134
|
+
inputs: {
|
|
135
|
+
[x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.AnyExtensionDataRef, {
|
|
136
|
+
optional: boolean;
|
|
137
|
+
singleton: boolean;
|
|
138
|
+
}>;
|
|
139
|
+
};
|
|
109
140
|
kind: "entity-card";
|
|
110
|
-
namespace: undefined;
|
|
111
141
|
name: "recent-workflow-runs";
|
|
142
|
+
params: {
|
|
143
|
+
loader: () => Promise<JSX.Element>;
|
|
144
|
+
filter?: string | ((entity: _backstage_catalog_model.Entity) => boolean) | undefined;
|
|
145
|
+
};
|
|
112
146
|
}>;
|
|
113
147
|
"entity-content:github-actions/entity": _backstage_frontend_plugin_api.ExtensionDefinition<{
|
|
114
|
-
path: string | undefined;
|
|
115
|
-
title: string | undefined;
|
|
116
|
-
filter: string | undefined;
|
|
117
|
-
}, {
|
|
118
|
-
filter?: string | undefined;
|
|
119
|
-
title?: string | undefined;
|
|
120
|
-
path?: string | undefined;
|
|
121
|
-
}, _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-content-title", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
122
|
-
optional: true;
|
|
123
|
-
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
124
|
-
optional: true;
|
|
125
|
-
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
126
|
-
optional: true;
|
|
127
|
-
}>, {}, {
|
|
128
148
|
kind: "entity-content";
|
|
129
|
-
namespace: undefined;
|
|
130
149
|
name: "entity";
|
|
150
|
+
config: {
|
|
151
|
+
path: string | undefined;
|
|
152
|
+
title: string | undefined;
|
|
153
|
+
filter: string | undefined;
|
|
154
|
+
};
|
|
155
|
+
configInput: {
|
|
156
|
+
filter?: string | undefined;
|
|
157
|
+
title?: string | undefined;
|
|
158
|
+
path?: string | undefined;
|
|
159
|
+
};
|
|
160
|
+
output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-content-title", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
161
|
+
optional: true;
|
|
162
|
+
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
|
|
163
|
+
optional: true;
|
|
164
|
+
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "catalog.entity-filter-expression", {
|
|
165
|
+
optional: true;
|
|
166
|
+
}>;
|
|
167
|
+
inputs: {};
|
|
168
|
+
params: {
|
|
169
|
+
loader: () => Promise<JSX.Element>;
|
|
170
|
+
defaultPath: string;
|
|
171
|
+
defaultTitle: string;
|
|
172
|
+
routeRef?: _backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams> | undefined;
|
|
173
|
+
filter?: string | ((entity: _backstage_catalog_model.Entity) => boolean) | undefined;
|
|
174
|
+
};
|
|
131
175
|
}>;
|
|
132
176
|
}>;
|
|
133
177
|
|
package/dist/alpha.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpha.esm.js","sources":["../src/alpha.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"alpha.esm.js","sources":["../src/alpha.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { convertLegacyRouteRefs } from '@backstage/core-compat-api';\nimport { createFrontendPlugin } from '@backstage/frontend-plugin-api';\nimport {\n entityGithubActionsCard,\n entityGithubActionsContent,\n entityLatestGithubActionRunCard,\n entityLatestGithubActionsForBranchCard,\n entityRecentGithubActionsRunsCard,\n githubActionsApi,\n} from './alpha/index';\nimport { rootRouteRef } from './routes';\n\n/**\n * @alpha\n */\nexport default createFrontendPlugin({\n id: 'github-actions',\n routes: convertLegacyRouteRefs({\n entityContent: rootRouteRef,\n }),\n extensions: [\n entityGithubActionsContent,\n entityGithubActionsCard,\n entityLatestGithubActionRunCard,\n entityLatestGithubActionsForBranchCard,\n entityRecentGithubActionsRunsCard,\n githubActionsApi,\n ],\n});\n"],"names":[],"mappings":";;;;;;;AA8BA,YAAe,oBAAqB,CAAA;AAAA,EAClC,EAAI,EAAA,gBAAA;AAAA,EACJ,QAAQ,sBAAuB,CAAA;AAAA,IAC7B,aAAe,EAAA,YAAA;AAAA,GAChB,CAAA;AAAA,EACD,UAAY,EAAA;AAAA,IACV,0BAAA;AAAA,IACA,uBAAA;AAAA,IACA,+BAAA;AAAA,IACA,sCAAA;AAAA,IACA,iCAAA;AAAA,IACA,gBAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage-community/plugin-github-actions",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.24",
|
|
4
4
|
"description": "A Backstage plugin that integrates towards GitHub Actions",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "frontend-plugin",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"default": "./dist/index.esm.js"
|
|
20
20
|
},
|
|
21
21
|
"./alpha": {
|
|
22
|
+
"backstage": "@backstage/FrontendPlugin",
|
|
22
23
|
"import": "./dist/alpha.esm.js",
|
|
23
24
|
"types": "./dist/alpha.d.ts",
|
|
24
25
|
"default": "./dist/alpha.esm.js"
|
|
@@ -54,14 +55,14 @@
|
|
|
54
55
|
"test": "backstage-cli package test"
|
|
55
56
|
},
|
|
56
57
|
"dependencies": {
|
|
57
|
-
"@backstage/catalog-model": "^1.
|
|
58
|
-
"@backstage/core-compat-api": "^0.
|
|
59
|
-
"@backstage/core-components": "^0.
|
|
60
|
-
"@backstage/core-plugin-api": "^1.
|
|
61
|
-
"@backstage/frontend-plugin-api": "^0.
|
|
62
|
-
"@backstage/integration": "^1.
|
|
63
|
-
"@backstage/integration-react": "^1.
|
|
64
|
-
"@backstage/plugin-catalog-react": "^1.
|
|
58
|
+
"@backstage/catalog-model": "^1.7.0",
|
|
59
|
+
"@backstage/core-compat-api": "^0.3.1",
|
|
60
|
+
"@backstage/core-components": "^0.15.1",
|
|
61
|
+
"@backstage/core-plugin-api": "^1.10.0",
|
|
62
|
+
"@backstage/frontend-plugin-api": "^0.9.0",
|
|
63
|
+
"@backstage/integration": "^1.15.1",
|
|
64
|
+
"@backstage/integration-react": "^1.2.0",
|
|
65
|
+
"@backstage/plugin-catalog-react": "^1.14.0",
|
|
65
66
|
"@material-ui/core": "^4.12.2",
|
|
66
67
|
"@material-ui/icons": "^4.9.1",
|
|
67
68
|
"@material-ui/lab": "4.0.0-alpha.61",
|
|
@@ -72,11 +73,11 @@
|
|
|
72
73
|
"react-use": "^17.2.4"
|
|
73
74
|
},
|
|
74
75
|
"devDependencies": {
|
|
75
|
-
"@backstage/cli": "^0.
|
|
76
|
-
"@backstage/core-app-api": "^1.
|
|
77
|
-
"@backstage/dev-utils": "^1.
|
|
78
|
-
"@backstage/frontend-test-utils": "^0.1
|
|
79
|
-
"@backstage/test-utils": "^1.
|
|
76
|
+
"@backstage/cli": "^0.28.0",
|
|
77
|
+
"@backstage/core-app-api": "^1.15.1",
|
|
78
|
+
"@backstage/dev-utils": "^1.1.2",
|
|
79
|
+
"@backstage/frontend-test-utils": "^0.2.1",
|
|
80
|
+
"@backstage/test-utils": "^1.7.0",
|
|
80
81
|
"@testing-library/dom": "^10.0.0",
|
|
81
82
|
"@testing-library/jest-dom": "^6.0.0",
|
|
82
83
|
"@testing-library/react": "^15.0.0",
|